0%

IPC 机制(六):选用合适的 IPC 方式

1. 不同 IPC 方式的优缺点和适用场景

名称 优点 缺点 适用场景
Bundle 简单易用 只能传输 Bundle 支持的数据类型 四大组件间的进程间通信
文件共享 简单易用 不适合高并发场景,并且无法做到进程间的即时通信 无并发访问情形,交换简单的数据实时性不高的场景
Messenger 功能一般,支持一对多串行通信,支持实时通信 不能很好地处理高并发场景,不支持 RPC,数据通过 Message 进行传输,因此只能传输 Bundle 支持的数据类型 低并发的一对多即时通信,无 RPC 需求,或者无须要返回结果的 RPC 需求
AIDL 功能强大,支持一对多并发通信,支持实时通信 使用稍复杂,需要处理好线程同步 一对多通信且有 RPC 需求
ContentProvider 在数据源访问方面功能强大,支持一对多并发数据共享,可通过 Call() 方法扩展其他操作 可以理解受约束的 AIDL,主要提供数据源的 CRUD 操作 一对多的进程间数据共享
Socket 功能强大,可以通过网络传输字节流,支持一对多并发实时通信 实现细节稍微繁琐,不支持直接的 RPC 网络数据交换
-------------------- 本文结束感谢您的阅读 --------------------