Android Binder之经典好文

本文详细介绍了Android采用Binder作为进程间通信(IPC)机制的原因,包括效率和安全方面的考量。文中还探讨了Binder的基本类介绍及其在Framework层的应用,以及实名和匿名Binder的使用方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Binder IPC作为Android的核心,作为Android的开发者必须对其熟练掌握(至少在原理及如何使用方面),强烈推荐如下文章:

1)理论篇

        Android之所以采用Binder作为进程间IPC通信机制,主要体现在效率和安全上两方面(与Linux上传统的管道、System V IPC和socket相比),详细原理介绍请参见:” Android Bander设计与实现 - 设计篇 “ - https://blog.youkuaiyun.com/universus/article/details/6211589

        值得一提的是,Android既支持实名Binder,也支持匿名Binder。实名Binder是通过将名字和Binder实体注册给ServiceManager,外界通过名字查询ServiceManager便可以获取到相应的XXXService在客户端的代理(BpXXXService)。而匿名Binder是在通过实名Binder建立好的client和server端的Binder连接基础上,由Server端透过该Binder连接将新创建的Binder实体传给client(这个新创建的Binder实体并没有向ServiceManager注册,所以外界无从获得)。客户端在实名Binder和匿名Binder的具体用法上并无区别。

 

2)应用篇

          有了Binder Driver的支持,Framework层是如何设计及使用的呢,请参考:

          ” Android Binder之基本类介绍 “ - http://blog.youkuaiyun.com/mediatec/article/details/9968713

          ” Android深入浅出之Binder机制 “ - http://www.cnblogs.com/innost/archive/2011/01/09/1931456.html

 

        认真读完上述文章,相信会对BpBinder、BBinder、ServiceManager、Binder Driver、XXXService、BnXXXService、BpXXXService整体工作flow至少知道个大概,细节就只能自己去”Read The Fucking Source Code“。有了Binder基础,便可以开始Android的进一步学习了。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值