前邊三篇已經講解了IPC所涉及的內容论熙,現在切入正題了......
Binder機制
androidIPC機制就是Binder機制柳击,是提供遠程過程調用(RPC)功能侯勉,在Binder機制中,由系統(tǒng)組件組成中姜,分別是Client色查、Server薯演、Service Manager和Binder驅動程序,其中Client秧了、Server和Service Manager運行在用戶空間跨扮,Binder驅動程序運行內核空間。Binder就是一種把這四個組件粘合在一起的粘結劑了验毡,其中衡创,核心組件便是Binder驅動程序了,Service Manager是一個守護進程晶通,用來管理Server璃氢,并向Client提供查詢Server接口的能力,是輔助管理的功能狮辽,Client和Server正是在Binder驅動和ServiceManager提供的基礎設施上一也,進行Client-Server之間的通信;
IPC通信方式
1.Bundle:一般用于四大組件間的進程間通信喉脖,簡單易用
2.文件共享:通過IO方式把數據寫到文件里進行通信椰苟,需要注意序列化
3.AIDL:AIDL是IPC的一個輕量級實現
4.ContentProvider:ContentProvider相當于為數據存儲和獲取提供了一個統(tǒng)一的接口
5.Messenger: Messenger本質也是AIDL,只是進行了封裝树叽,開發(fā)的時候不用再寫.aidl文件舆蝴,所以相對于AIDL較于簡單。
6.Socket:一般用來網絡數據的交換