aidl 详解

aidl 是 android interface define language 的缩写,主要是做为进程间通信的一个接口规范,这种通信是一种普通的 client-server 的模式,对于 client 来讲只需知道 aidl 便可,无需知道实现细节就能实现调用,之因此用 aidl 是由于系统能够自动完成 decompose/marshal 或者 serialize/unserialize 的工做。android

对于 server 端主要是提供 service, 这个 service 能够是 started service, 也能够是 bound service,也能够二者兼具,started service 是一直运行的, bound service 若是不一样时是 started service,那么只是在 client 调用 bindService 的时候被建立来提供服务,调用结束后就自动销毁了,对于 bound service 能够支持三种通信方式,一是进程内通信,这时不涉及 aidl,二是单线程通信,这时经过 messenger,本质上也是 aidl 的方式,第三种是 aidl,这种是支持并发调用 service 的并发

相关文章
相关标签/搜索