binder是一种架构,提供了服务端接口、Binder驱动、客户端接口三个模块。
binder对象一旦创建,内部会启动一个隐藏线程,该线程会接受binder驱动发来的消息,收到消息后执行binder中的onTransact方法,按照其中参数执行不同服务代码。实现Binder必须重载onTransact方法。
重载onTransact主要是把onTransact函数的参数转换为服务函数,参数来源是客户端调用transact函数时输入的,
Binder驱动中户自动穿一个mRemote对象,他也是Binder类。客户端访问远程服务都是通过mRemote。