android服务连接... Messenger或Binder还是AIDL?

时间:2011-03-16 04:42:32

标签: android

我对diff人和开发者网站的不同观点感到很困惑......

我正在构建一个应用程序,其中我正在运行服务(本地服务)...不断更新数据(套接字)..我希望每次都能反映在活动中......

哪一个是最理想的追随方式?

3 个答案:

答案 0 :(得分:2)

首先,Binder无法与AIDL相媲美。它们完全不同。 Binder是Android中使用的IPC机制;而AIDL,其名称--Android Interface Definition Language,与您可能使用过的其他IDL类似。 AIDL允许您定义客户端和服务达成一致的编程接口,以便使用Binder进行相互通信。但是,应用程序开发人员不直接使用Binder。相反,他们必须使用AIDL定义界面并与之交互。

所以,你的问题变成“我应该使用Messager还是Binder?” - 我的理解是:Binder用于进程间通信; Messager可以用于不需要多线程的内部和内部情况。所以这取决于你工作的场景。

答案 1 :(得分:1)

我认为粘合剂会更好,因为信使或援助旨在进行跨过程沟通。

答案 2 :(得分:-3)

我认为binder和aidl是一样的。您必须先创建一个.aidl文件,然后必须在活动和服务之间绑定它。然后.aidl文件将作为活动和服务之间的接口。

信使是另一种方式。