Binder机制

什么是binder

1.从机制来看,是android实现跨进程通讯的方式之一。就是binder机制模型。
2.从模型结构来看,是虚拟的物理设备驱动。是用来连接client、serve、serviceManger。
3.从代码来看,是binder类,实现了ibinder接口,将binder模型以代码的形式体现在android中。

binder机制模型。

Binder机制_第1张图片
image.png

binder驱动模型,怎么实现的

Binder机制_第2张图片
image.png

内存映射,地址映射,系统调用mmap()方法。
关键字:虚拟内存区域、 数据接受缓存区。


Binder机制_第3张图片
image.png

代码角度看binder。

关键类stub、stub.proxy、binder、接口Ibinder、IInterface。
关键方法attchInterface、queryLocationInterface、transact、ontransace、
关键参数 code data relay

binder的优点。

安全性(android为每个进程设置不同的uid/pid,可以根据这个id来做检测),高效性(数据拷贝一次,共享信道,消息队列,socket数据拷贝两次),使用简单(就像一个类一个来使用它。)。

你可能感兴趣的:(Binder机制)