Android开发--Binder

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驱动会做很多事情,暂未进行深入理解。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值