上一篇完成了兩個項目間的AIDL跨進程通訊demo(這個demo是兩個應用之間的通訊,如果是一個項目之間的通訊就更簡單了,反正就三要素:溝通C-S的橋樑——AIDL文件,客戶端,服務端都放到一個項目就行了),沒有分析任何原理,下面來分析AIDL是如何進行跨進程通訊的:
在進行AIDL原理分析之前,先回憶一下Android跨進程通訊總共有幾種方式:
- 文件
- AIDL(基於Binder)
- Messenger(基於Binder)
- Content Provider(基於Binder)
- Socket
- Binder
至於說如何選擇這幾種通訊方式?
《Android開發藝術》中說的很是清晰: