安卓:关于Binder的一些认识和理解

binder重要性

安卓系统,四大组件之间通信,应用之间的通信,主要都是IPC(进程间通信)通信,就是靠binder进行通信

什么是Binder(共享内核空间数据)

Binder是Android跨进程通信方式,它实现了IBinder接口,是安卓跨进程通信的主要桥梁,有着速度快,安全性高的特点

我们可以通过设计团队想要解决问题的思路去分析Binder的设计

  1. 如何知道调用了那个进程和哪个进程的函数
  2. 客户端是如何将数据发送给服务端,以及服务端如何将数据返回给客户端
  3. 如何屏蔽底层通信,让调用像调用本地方法一样便捷

Binder机制

系统给应用分配的空间有用户空间和内核空间,binder利用内核空间共享数据,对数据进行拷贝,从而进行通信(拷贝数据一次)

Linex内核有Binder驱动,最底层对数据进行交换,从而实现通信,内核驱动中存留Binder引用对象(Binder引用,主要是定义的相同类名,通过类名去查找对应的方法,实现对应的不通进程的方法),

Binder机制运行

Binder采用的C/S通信架构,通过aidl作为桥梁进行通信, aidl就是定义相同的函数,不同的进程就根据这个,类似定义约定 

 

底层实现原理

aidl&

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值