图文浅析Binder机制

时间:2022-08-08 21:08:59

总述:

Binder是Android系统提供的一种IPC机制,Android系统基本就可以看做基于Binder的C/S架构,Binder也是C/S形式出现,它属于驱动但是驱动的一段内存而不是设备,框架如下图:

图文浅析Binder机制

1、服务端接口

一个BIinder服务端实际是个BInder的类对象,一旦该对象创建,内部就会启动一个隐藏线程,该线程就会接受Binder驱动发送的消息,接收到消息之后就会执行BInder对象的onTransact()方法处理,过程如下图

图文浅析Binder机制

图文浅析Binder机制

2、Binder驱动

主要是牵涉到mRemote对象

图文浅析Binder机制

3、客户端接口

要想访问远程服务,必须要获得远程服务在Binder对象中的mRemote引用,然后就可以调用其transact()方法(该方法经过重载)

图文浅析Binder机制

最后用一张图来总结一下Binder整个过程:

图文浅析Binder机制