1:Messenger和Message
从翻译来说 :一个是信使,一个是消息
官方对Messenger的说明:允许实现基于消息的进程间通信的方式
Messenger关联一个可以发送消息的Handler。通过指定一个Handler对象创建一个Messenger可以实现基于消息的夸进程通信
底层基于AIDL实现。利用Handler发消息
只能传递消息,并且是并发执行的,有大量的消息时不适合,需跨进程调用方法也不适用
2:AIDL
客户端调用服务端的方法运行在服务端的Binder线程池中,同时客户端线程会被挂起,如方法比较耗时,就会ANR
客户端调用时放在非UI线程
服务端的方法本身就可以执行耗时操作,不需要在服务端方法中开线程进行异步任务
3:permission的自定义