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,然后在注册,解注册