首先要了解一下Binder使用的各个实体对象和代理对象,这个在Android智能指针中有体现,链接地址https://www.jianshu.com/p/e4379961ad74
那么具体在Client请求ServiceManager的时候都是实现了什么操作呢?
这里牵扯到两个进程Client和ServiceManager进程,和binder驱动如下图
Client请求ServiceManger交互流程.png
其他的Binder进程间通信与这个交互也基本都相同
这里有一个小技巧,就是从进程到binder驱动使用的协议都是BC_XXXXXXX,从binder驱动到BR_XXXXXX
网友评论