Android進(jìn)程通信方式

Android系統(tǒng)中進(jìn)程間通信有以下幾種方式:

1、Bundle
2、文件共享
3、AIDL
4、Messenger
5、ContentPrivider
6、Socket

名稱(chēng) 優(yōu)點(diǎn) 缺點(diǎn) 適用場(chǎng)景
Bundel 簡(jiǎn)單易用 只能傳輸Bundle支持的數(shù)據(jù)類(lèi)型 四大組件間的進(jìn)程通信
文件共享 簡(jiǎn)單易用 不適合高并發(fā)場(chǎng)景,并且無(wú)法做到進(jìn)程間的即時(shí)通信 無(wú)并發(fā)訪問(wèn)情形,交換簡(jiǎn)單的數(shù)據(jù)實(shí)時(shí)性不高的場(chǎng)景
AIDL 功能強(qiáng)大,支持一對(duì)多并發(fā)通信,支持實(shí)時(shí)通信 使用復(fù)雜,需要處理好線程同步 一對(duì)多通信且有PRC需求
Messenger 功能強(qiáng)大,支持一對(duì)多串行通信,支持實(shí)時(shí)通信 不能很好處理高并發(fā)情形,不支持PRC,數(shù)據(jù)通過(guò)Message進(jìn)行傳輸,因?yàn)橹荒軅鬏擝undle支持的數(shù)據(jù)類(lèi)型 低并發(fā)的一對(duì)多即時(shí)通信,無(wú)PRC需求,或著無(wú)須要返回結(jié)果的PRC需求
ContentPrivider 在數(shù)據(jù)源訪問(wèn)方面功能強(qiáng)大,支持一對(duì)多并發(fā)數(shù)據(jù)共享,可通過(guò)Call方法擴(kuò)展其他操作 可以理解為受約束的AIDL,主要提供數(shù)據(jù)源的CRUD操作 一對(duì)多的進(jìn)程間的數(shù)據(jù)共享
Socket 功能強(qiáng)大,可以通過(guò)網(wǎng)絡(luò)傳輸字節(jié)流,支持一對(duì)多并發(fā)實(shí)時(shí)通信 實(shí)現(xiàn)細(xì)節(jié)稍微有點(diǎn)繁瑣,不支持直接RPC 網(wǎng)絡(luò)數(shù)據(jù)交換
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容