进程间通信

Bundle
优点:简单易用
缺点:只能传输Bundle支持的数据类型
场景:四大组件的进程间通信

文件共享
优点:简单易用
缺点:不适合高并发场景,并且无法做到进程间的即时通信
场景:无并发访问情形,交换简单的数据实时性不高的场景

aidl
优点:支持一对多并发通信,支持实时通信
缺点:使用复杂,需要处理好线程同步
场景:一对多且有RPC需求

messenger
优点:支持一对多串行通信,支持实时通信
缺点:不能很好处理高并发情形,不支持RPC,
数据通过Message进行传输,因此只能传输Bundle支持的数据类型
场景:低并发的一对多即时通信,无RPC需求,或者无须要返回结果的RPC需求

ContentProvider
优点:擅长数据资源访问,支持一对多并发数据共享,可通过Call方法扩展其他操作
缺点:受约束的AIDL,主要提供数据源的CRUD操作
场景:一对多的进程间的数据共享

socket
优点:通过网络传输字节流,支持一对多并发实时通信
缺点:实现细节烦琐,不支持直接的RPC
场景:网络数据交换

你可能感兴趣的:(android)