Android中AIDL的作用是什么?它所支持的参数类型是?默认情况下AIDL的调用过程是同步还是异步?如何指定AIDL为异步调用?

1,AIDL 翻译过来就是Android Interface Definition Language 安卓接口定义语言,主要用于进程间通信使用,他让Android开发人员在使用Binder通信的时候能更加的便捷(少写了代码个干活)

2,传递数据支持基本数据类型,还有实现了Parceable接口的java bean

3,默认情况下AIDL调用过程是同步的,例如A进程请求与B进程通信,A会等到B海枯石烂的,如果A为主线程调用的话,那么B如果执行时间过程很可能就直接ANR了,并且注意B那边是很多进程都可以调用的,所以要注意同步数据,并且B那边被调用执行的时候都是在子线程,如果有回调的话,那么也是在子线程,所有A在获取B那边的回调数据后如果要更新ui要注意不能在子线程更新ui

4,可以传回调到B端,记得注册以后要解注册,因为是多个进程的操作所以在解注册的时候会有一点点不同,并不是调用一个unRegister就可以了,要使用RemoteCallBackList,然后在注册,解注册


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值