android aidl流程
2020-04-20 本文已影响0人
泓汉
aidl为实现跨进程通信,android提供的简单方案
对于跨进程,我们都知道android底层是linux,所以进程管理也是linux系统的那一套,即进程之间是相互独立的互不干扰的,数据是独享的,所以要进行进程间的通信也是通过老掉牙的方案Binder机制去搞,而android的AIDL底层也是基于Binder机制来搞的,只不过封装的比较好。
支持的数据类型,如下
java的基本类型,list(内部都是arraylist),map,String,CharSequence,Parcelable
1.首先需要在本app,加入需要沟通app(跨进程通信)的aidl文件,了解他实现的包名,以及aidl所在的包地址,用ComponentName
类来封装两个包名,一个是服务实现类的包名,一个是aidl所在的包名
1.1 如果需要建立aidl文件,需要在main文件下,右键生成aidl文件
2.然后通过建立服务两者进行通信。
aidl底层还是通过binder进行通信的