通常来说,Binder是Android系统中的内部进程通讯(IPC)之一。在Android系统中共有三种IPC机制,分别是:
-标准Linux Kernel IPC接口
-标准D-BUS接口
-Binder接口
尽管Google宣称Binder具有更加简洁、快速,消耗更小内存资源的优点,但并没有证据表明D-BUS就很差。实际上D-BUS可能会更合适些,或许只是当时Google并没有注意到它吧,或者Google不想使用GPL协议的D-BUS库。我们不去探究具体的原因了,你只要清楚Android系统中支持了多个IPC接口,而且大部分程序使用的是我们并不熟悉的Binder接口。
Binder是OpenBinder的Google精简实现,它包括一个Binder驱动程序、一个Binder服务器及Binder客户端(?)。这里我们只要介绍内核中的Binder驱动的实现。
对于Android Binder,它也可以称为是Android系统的一种RPC(远程过程调用)机制,因为Binder实现的功能就是在本地“执行”其他服务进程的功能的函数调用。不管是IPC也好,还是RPC也好,我们所要知道的就是Android Binder的功能是如何实现的。
分享到:
相关推荐
模拟binder通信的demo模拟binder通信的demo模拟binder通信的demo模拟binder通信的demo模拟binder通信的demo模拟binder通信的demo模拟binder通信的demo模拟binder通信的demo模拟binder通信的demo模拟binder通信的demo...
Binder是Android系统进程间通信(IPC)方式之一。Linux已经拥有管道,system V IPC,socket等IPC手段,却还要倚赖Binder来实现进程间通信,说明Binder具有无可比拟的优势。深入了解Binder并将之与传统 IPC做对比有助...
3. sdkserver是binder服务(编译后生成sdkserver二进制),sdklib是binder的client(编译生成so),sdkclient(编译生成bin)是用来测试sdklib的。 4. 编译完成后把两个bin文件放到andoid系统的/system/bin目录下,...
Android底层源码分析_Binder,Android底层源码分析_Binder
Android系统最常见也是初学者最难搞明白的就是Binder了,很多很多的Service就是通过Binder机制来和客户端通讯交互的。所以搞明白Binder的话,在很大程度上就能理解程序运行的流程。我们这里将以MediaService的例子来...
将android的binder框架移植到linux下面,同时写了一个点灯硬件服务进行测试,还包括android logger系统 测试半年未发现问题
android binder c++ 代码实现,添加内存共享、读写通知通过binder通行。代码再Android 9上测试无问题。
Binder连接池
binder 详解
简要介绍Android IPC机制Binder
AIDL实现IPC,手写Binder实现IPC,Binder连接池的设计
模拟实现android的binder机制在java层、c++层的模型最小例子。实现在不同进程中的通信。
Binder协议基本格式,和一些binder驱动代码的走读。文档中把多块代码集中起来进行注释,方便阅读和理解。
很详细讲解了Binder实现原理,细节,设计思想
Binder1.pdf
Binder双向通信Native用例,Android2.3。
Binder面试系列00-binder爱情例子.md
Binder连接池能够很大程度上优化多个AIDL接口访问服务的效率,此demo是Binder连接池的基本用法分为服务端和客户端
Deep Dive into Android IPC-Binder Framework 深入Android IPB/Binder 框架
以下关于binder和aidl的学习demo