我在 Android 开发者指南中读到了关于 绑定服务 和 AIDL 基础服务 的内容。两者都允许其他组件绑定并执行进程间通信。绑定服务允许组件(如活动)绑定到服务,发送请求,接收响应,甚至执行进程间通信(IPC)。AIDL(Android 接口定义语言)类似于您可能使用过的其他 IDL。它允许您定义编程接口,以便客户端和服务端同意使用进程间通信(IPC)相互通信。那么这两者有什么区别呢?
AIDL是一份合同,如果客户端与服务通讯,则使用AIDL格式,使双方都知道它的含义。或者您可以将“this”、“that”和“theOther”放入Bundle中并发送。 绑定服务意味着合同各方应该互相认识,比如电话号码、绑定器、名称或其他什么。服务应该知道客户端,可能客户端也应该知道服务。