AIDL与stub
2024-08-27 20:40:39
Stub翻译成中文是存根的意思,注意Stub对象是在被调用端进程,也就是服务端进程,至此,服务端aidl服务端得编码完成了。
stub是为了方便client,service交互而生成出来的代码。
AIDL(android 接口描述语言)是一个IDL语言,它可以生成一段代码,可以使在一个android设备上运行的两个进程使用内部通信进程进行交互。如果你需要在一个进程中(例如:在一个Activity中)访问另一个进程中(例如:一个Service)某个对象的方法,你就可以使用AIDL来生成这样的代码来伪装传递各种参数。
要使用AIDL,Service需要以aidl文件的方式提供服务接口,AIDL工具将生成一个相应的java接口,并且在生成的服务接口中包含一个功能调用的stub服务桩类。Service的实现类需要去继承这个stub服务桩类。Service的onBind方法会返回实现类的对象,之后你就可以使用它了。
交互过程client<-->proxy<-->stub<-->service
aidl 只是跨进程用的一种工具,调用的java的binder 然后java binder 还是用的native的binder进行通信
stub和proxy是为了方便client/service交互而生成出来的代码,这样client/service的代码就会比较干净,不会嵌入很多很难懂的与业务无关的代码
最新文章
- apache结合svn创建svn资源库
- 对于一个负数mod正数
- powershell加win的dns服务器,解决网站负载均衡问题
- VMware虚拟机中设置端口映射(转载)
- Sum Root to Leaf Numbers 解答
- Qt开发初步,循序渐进,preRequest for 蓝图逆袭
- MIPS台OpenWrt在系统内的路由器Rust应用程序开发
- ps -aux中的time 的意思
- ReactiveCocoa Weak-Strong Dance
- fastreport代码转
- java使用类数组 报错Exception in thread ";main"; java.lang.NullPointerException
- 2014年新一代的报表利器 Qlik Sense Desktop 初步体验
- Linux->;Windows主机目录和文件名中文乱码恢复
- python 将一个JSON 字典转换为一个Python 对象
- appium桌面版本以及一些自动化测试方方封装
- PostgreSQL索引介绍
- iOS UI-UIPickerView(拾取器)、UIWebView(网页视图)和传值方式
- phpredisadmin 莫名其妙错误,打开了无法显示任何数据
- 【树】ztree
- flume sourcetype avro http