Binder
来源:互联网 发布:修改ssh端口号 编辑:程序博客网 时间:2024/05/22 17:28
Binder呢,其实就是一块内存,它在Linux层面属于一个驱动,但是这个驱动不是驱动硬件,而是驱动一块内存。 应用之间进行通讯,必须要有暗号,当两个应用持有相同的暗号(AIDL时),才可以进行通讯。
Binder在Android系统中江湖地位非常之高。在Zygote孵化出system_server进程后,在system_server进程中出初始化支持整个Android framework的各种各样的Service,而这些Service从大的方向来划分,分为Java层Framework和Native Framework层(C++)的Service,几乎都是基于BInder IPC机制。
Java framework:作为Server端继承(或间接继承)于Binder类,Client端继承(或间接继承)于BinderProxy类。例如 ActivityManagerService(用于控制Activity、Service、进程等) 这个服务作为Server端,间接继承Binder类,而相应的ActivityManager作为Client端,间接继承于BinderProxy类。 当然还有PackageManagerService、WindowManagerService等等很多系统服务都是采用C/S架构;
Native Framework层:这是C++层,作为Server端继承(或间接继承)于BBinder类,Client端继承(或间接继承)于BpBinder。例如MediaPlayService(用于多媒体相关)作为Server端,继承于BBinder类,而相应的MediaPlay作为Client端,间接继承于BpBinder类。
- binder
- binder
- binder
- Binder
- binder
- binder
- Binder
- binder
- binder
- Binder
- Binder
- Binder
- binder
- Binder
- Binder
- Binder
- binder
- Binder
- 设置TextField属性之文字距左边框的距离
- java 泛型
- 大话数据结构——数据结构绪论
- 找含单链表的环入口点
- VideoView的相关方法
- Binder
- 组播及igmp协议详解
- KindEditor得不到textarea值的解决方法
- 条件覆盖,路径覆盖,语句覆盖,分支覆盖解释
- iOS——在ARC下引入MRC文件
- ThoughtWorks代码挑战——FizzBuzzWhizz游戏
- 小白学习python的进阶之路
- iOS中AutoLayer自动布局流程及相关方法
- CALayer中的position与anchorPoint