名称 | 优点 | 缺点 注意点 | 设用场景 |
Bundle | 简单易用 | 只能传输Bundle支持的数据类型 | 四大组件 间的进程通信 |
文件共享 | 简单易用 | 不适合高并发的情况, 并且无法做到进程间的即时通讯 | 无并发访问情况下, 交换简单的数据实时性不高的情况 |
AIDL | 功能强大,支持一对多并发通信 ,支持实时通讯 | 需要处理好线程同步 | 一对多通信且有Rpc需求 |
Messager | 支持一对多串行通信,() ,支持实时通讯 | 不能很好处理高并发情况,不支持Rpc, 数据通过Message进行传输,因此只能传 输Bundle支持的数据类型 | 低并发的一对多即时通信,无 Rpc需求,或者无需返回结果的Rpc需求 |
ContentProvider | 在数据源访问方面功能强大,支持一对 多并发数据共享,可通过call方法扩展其他操作(call在源码编译下可调用http://blog.csdn.net/luoshengyang/article/details/6950440) | 主要提供数据源的Crud | 一对多的进程间数据共享 |
Socket | 功能强大,可以通过网络传输字节流, 支持一对多并发实时通讯 | 实现细节有点繁琐,不支持直接的Rpc | 网络数据交换 |
注:Rpc(调用远程服务中的方法) |