framework裏的xxxManagerProxy,xxxManager與xxxManagerService概念介紹(AIDL通信模型)
阿新 • • 發佈:2017-09-30
logs 獲取 封裝 strong system ron bin andro 做的
用於AIDL的模型基本如下
這裏BackupManager的一個例子可以看到下面的關系
1 opt/net/wifi/service/java/com/android/server/wifi/BackupManagerProxy.java 2 base/services/backup/java/com/android/server/backup/BackupManagerService.java 3 base/core/java/android/app/backup/BackupManager.java 4 base/core/java/android/app/backup/IBackupManager.aidl
根據路徑可以知道,SDK裏給app調用的位於base/core/java/android/app 裏邊,這裏是BackupManager的Client和aidl文件
在base/services/backup/java/com/andorid/server裏邊則是這個service的Servcer端
而在opt/net/wifi/service/java/com/android/server/wifi/下的BackupManagerProxy則是WIFI這單個應用為了使用BackupManager而對其做的一層封裝,只為單個app方便使用這個而存在,可以在其中獲取相應的xxxManager,然後調用其方法,與binder通信無關,是為了方便編程而存在的。所以BackupManagerProxy和BackupManager都是在一個進程裏,而BackupManagerServcie則是存在與SystemServer進程裏
framework裏的xxxManagerProxy,xxxManager與xxxManagerService概念介紹(AIDL通信模型)