Binder

Catalogue   

一个进程空间分为:

  • 用户空间:数据不可共享,所以用户空间 = 不可共享空间
  • 内核空间:数据可共享,所以内核空间 = 可共享空间

Binder 的作用则是:连接两个进程,实现了mmap()系统调用,主要负责创建数据接收的缓存空间 & 管理数据接收缓存。
传统的跨进程通信需拷贝数据2次,但 Binder 机制只需1次,主要是使用到了内存映射

Android中IPC的不同方式比较

名称 优点 缺点 适用场景
Bundle 简单易用 只能传输Bundle支持的数据类型 四大组件间的进程间通信
文件共享 简单易用 不适合高并发场景,并且无法做到进程间的即时通信 无并发访问场景
AIDL 功能强大,支持一对多并发通信,支持实时通信 一对多通信且有RPC需求
Messager 功能一般,支持一对多并发通信,支持实时通信 不能很好处理高并发场景,不支持RPC 低并发的一对多通信,无RPC需求
ContentProvider 在数据源访问方面功能强大
Socket 功能强大

参考

Powered By Valine
v1.5.2