Android基础——Binder连接池连接多个AIDL文件的处理

Posted 张丽心

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android基础——Binder连接池连接多个AIDL文件的处理相关的知识,希望对你有一定的参考价值。

Binder连接池连接多个AIDL文件的处理

 

 

事先说明:

本人也是个初学者,所以本文是从初学者的角度入手,如果有不妥的地方请留言教导我,谢谢。

如果对AIDL的使用和Binder机制不懂的,可以参照我之前的文章,Android基础——初学者必知的AIDL在应用层上的Binder机制,http://blog.csdn.net/qq_30379689/article/details/52253413

 

前言:

按照我们之前的对AIDL的使用方法,必须满足一个AIDL接口对应一个service。假如我们的应用,有多个模块需要多个AIDL,则需要多个Service端,Service作为四大组件,内存占用高,这样就影响了应用程序的性能了。所以我们需要将所有的AIDL放入一个Service中去管理。

欢迎关注我的CSDN博客,Hensen_的博客,http://blog.csdn.net/qq_30379689

 

Binder连接池工作原理:

技术分享图片

 

服务端的操作

步骤一:创建两个模块需要的aidl文件和创建一个Binder连接池aidl文件,编译一下Gradle

技术分享图片

 


 

 



步骤二:创建两个模块对aidl文件的实现类和创建一个Binder连接池类并实现,中老年创建一个服务端

 

 





步骤三:在manifests中配置Service

 

 


步骤四:在代码中启动服务

 

 


 

 

客户端的操作
步骤一:复制服务端的aidl文件到客户端中,编译一下Gradle

技术分享图片
步骤二:编写Binder连接池的代码,解释在代码中

 


步骤三:代码中使用

 

 


步骤四:启动服务端,然后启动客户端,查看Log,测试结果




以上是关于Android基础——Binder连接池连接多个AIDL文件的处理的主要内容,如果未能解决你的问题,请参考以下文章

Binder连接池

Binder连接池

IPC机制之Binder连接池

Android——IPC机制IPC概念以及Binder机制

Android 跨进程通信-Binder机制传输数据限制—罪魁祸首Binder线程池

Android 连接低功耗蓝牙出现 Caught a RuntimeException from the binder stub implementation.