很久之前就想写一篇binder的文章, 也是总结自己的知识点把。
binder算是android自建的一个框架把, 个人觉得分为两部分比较清晰易懂。
1) binder client 和 binder server
binder client和binder server 通过 android的binder驱动进行进程间的通信, binder client比如说是apk1把, 通常会从transact()调用, 调用到IPCThreadState的transact, 然后驱动接手, 先挂起binder client的线程, 从binder client传过来的Bpbinder联系到binder server, binder server 接受到后,解析内容,执行,然后返回到binder 驱动, binder驱动带着返回的结果恢复之前挂起的线程,返回结果给apk1, 完成进程间的通信.
2) service manager.
网友评论