Android binder系统架构
来源:互联网 发布:写代码键盘推荐 知乎 编辑:程序博客网 时间:2024/05/29 11:36
1. binder驱动
是客户端和服务器端交换请求和处理结果的中介,
- 客户端先获得服务器端的代理对象,通过调用代理对象的方式向服务器端发送请求。
- 代理对象将用户的请求通过Binder驱动发送到服务器端
- 服务器进程处理用户请求,通过BInder驱动返回处理结果给客户端的服务器代理对象。
2. Binder Adapter
是对Binder驱动的封装,主要用于操作Binder驱动,实现包括IPCThreadState.cpp和ProcessState.cpp,以及Parcel.cpp的部分内容。
他们位于Android源代码的frameworks/base/include/binder和frameworks/base/libs/binder两个文件夹中,其中ProcessState类中包含了通信细节,利用open_binder打开设备节点/dev/binder。通过ioctl建立基本的通信框架,每个进程只有一个ProcessState对象,每一个线程都会有一个IPCThreadState对象,它主要负责Binder数据读取,写入和请求处理框架。
ProcessState是一个singleton类型,其作用是维护当前进程中的所有Service代理。一个客户端进程可能需要多个Service服务,这样可能会创建多个Service代理,客户端进程中的ProcessState对象就负责维护这些Service代理
3. Binder核心库
是Binder框架的核心实现,主要包括iBinder,Binder(服务器端)和BpBinder(客户端);
4. Binder框架,Binder客户端/服务器端
Binder框架分别有两种实现方案JAVA C++,主要供应用程序使用,他们通过调用Binder的核心库来实现。
- Android binder系统架构
- Android binder系统架构
- android系统binder通信架构分析
- Android binder架构解析
- 理解Android Binder架构
- Binder 机制详解—Binder 系统架构
- 【原创】【android】【Binder】1 Binder架构
- Android Binder机制(1):Binder架构分析
- Android-Binder系统
- 【Android】Binder架构深度解析
- Android 内核--Binder架构分析
- Android 内核--Binder架构分析
- Android 内核--Binder架构分析
- 002——Binder 机制详解—Binder 系统架构
- Android系统的Binder机制
- Android系统的Binder机制
- Android系统的Binder机制
- android系统binder理解篇
- 第九次上机实验
- linux下查看磁盘剩余空间和文件夹大小
- 产品发布日志(温情版)
- 12课后
- 代码测试覆盖率检查工具-Cobertura
- Android binder系统架构
- <Unity3D>Unity3D中LineRenderer的使用
- JAVA算时间差
- 面试常见问题总结
- 日志
- 分享Jquery实现网格手风琴特效
- linux temfs与/dev/shm探讨及其应用
- 从程序员到CTO的Java技术路线图
- C#过滤XML(十六进制值 0x1D)无效的字符