Android中IPC机制Binder简介
2016-06-05 本文已影响69人
xbase
binder
以下是用addBook方法作为一个例子,说明流程:
1.Activity中的bindService,注册Service,返回值在ServiceConnection的connected中,使用asInterface(binder)得到iBookManager(服务器和客户端在同一个进程,直接返回binder,不在同一进程,返回proxy)
2.Service中定义一个Stub,里面重写addBook方法,在onbind方法里返回这个Stub。
3.调用Activity中的iBookManager.addBook。
4.IBookManager中的Stub中的proxy中的addBook方法被调用,紧接着transact被调用,再然后会调用Server端的Stub中的onTransact方法(一般不会重写该方法,所以是在调用父类IBookManager中的onTransact方法),最后会由底层调用server端的Stub中的addBook方法。