Android开发--Binder

来源:互联网 发布:r2v32软件 编辑:程序博客网 时间:2024/06/05 18:14

Binder

 作用:进程间通信。

 组成:可以简单地理解为四个部分

            1.BinderServer 可理解为服务端,与BinderClient为相对概念,可相互替换。

            2.BinderClient 可理解为客户端。

            3.Binder驱动(暂未详细了解)

            4.ServerManager 可理解为所有Binder地址的容器,所有Binder都需要在该容器中进行注册

通信原理:

             图片为网上找到的大致流程图:

           

            场景:BinderClient 想调用 BinderServer中的方法

            1.Binder在ServerManager中进行注册

            2.BinderClient 去ServerManager中去查找该Server的地址,若存在地址则请求Server的Object实例。

            3.ServerManager不会返回真正的实例给Client,而是返回一个proxy(代理对象)给Client,Server此时通过该

               proxy调用Server中的方法,而ServerManager会帮助Client调用Server中真正的方法,并将处理结果返回给

               Client端

            至此,整个通讯过程完成,这个过程中Binder驱动会做很多事情,暂未进行深入理解。


原创粉丝点击