?????????Android Interface Definition Language(AIDL)作為Android跨進(jìn)程通信主打的通道,其實(shí)實(shí)現(xiàn)方式也有多種。
?????????簡(jiǎn)單總結(jié)了以下6種:
- 四大組件之間可以通過(guò)Bundle傳遞
- 共享文件
- Messenger,底層是aidl實(shí)現(xiàn)的,但相對(duì)輕量
- AIDL,跨進(jìn)程通訊接口
- ContentProvider,一般用于跨進(jìn)程共享媒體數(shù)據(jù)
- 使用Socket傳輸
?????????另外,AIDL大致實(shí)現(xiàn)步驟如下:
- 客戶端使用bindService方法綁定服務(wù)端
- 服務(wù)端在onBind方法返回Binder對(duì)象
- 客戶端獲取到服務(wù)端返回的Binder對(duì)象進(jìn)行通信