BindService流程

主要有四次IPC

第一次IPC 目标是在AMS 中创建 客户端APP 的Connection 映射 IServiceConnection
建立了 AMS 到 App 的结果返回通道

第二次IPC 是在创建目标Service 的进程之后
有AMS 与 Service VM 进行一次通信 进行后续的bind操作 此时执行了 Service.onBind():Ibinder 方法 ,获取到IBinder后 马上执行了第三次IPC 操作
建立了ServiceVM 与AMS 中 Service.IBinder 的映射

第四次 IPC 则是上述步骤执行完毕后,AMS 通过第一次IPC 保存的IServiceConnection映射与AppVM 进行一次通信 回调绑定结果,并将AMS 中Service.IBinder 的映射再次映射给 AppVM

至此完成 bindservice 操作

BindService流程.png
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容