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 的併發

相關文章
相關標籤/搜索