IBinder接口的一般用途

参考来源:高焕堂 B05_b_AIDL与Proxy-Stub设计模式_ok.pdf

一,IBinder接口的作用

如下图,myActivity是client端,client端调用IBinder的transact()函数,通过IPC机制调用用远端(Remote端)的onTransact()函数


image.png

二,IBinder实现的代码架构

image.png

1)myService创建myBinder对象,
2)myActivity通过startservice获取到IBinder
3)IBinder通过transact将参数传递给myBinder(跨进程)
4)myBinder通过onTransact函数解析参数,并最终将参数通过handler传递给myService
5)myService通过broadcast将状态传递给myActivity(跨进程)

三,此代码架构的弊端

myActivity也就是client端,需要自己实现transact,大大加大了开发的难度

四,demo代码

https://github.com/Darren999/ipcDemo/tree/master/ProxyStub2

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容