android ipc通信机制之之三,进程通讯方式。

IPC通讯方式的优缺点:

IPC通讯方式的对比
名称 优点 缺点 适用场景
Bundle 简单易用 只能传输Bundle支持的数据类型 四大组件的进程通信
文件共享 简单易用 不适合高并发场景,并无法做到进程间即时通讯。 无并发访问情形,交换简单的数据是实时性不高的场景。
AIDL 功能强大,支持一对多并发通信,支持实时通信。 使用稍微复杂,需要处理好线程同步。   一对多通信且有RPC需求
Messenger 功能一般,支持一对多串行通信,支持实时通信。 不能很好处理高并发情形,不支持RPC,数据通过Messenger进行传输,因此只能传输Bundle支持的数据类型。 低并发的一对多即时通信,无RPC需求,或者无需要返回结果的RPC需求。
ContentProvider  在数据源访问功能很强大,支持一对多并发数据共享,可通过Call方法扩展其他操作。 可以理解受约束的AIDL,主要提供数据源的CRUD操作。

一对多的进程间数据共享。

Socet 功能强大,可以通过网络传输字节流,支持一对多高并发实时通信。 实现细节稍微有点烦琐,不支持直接的RPC。 网络数据交换。

注:RPC是指远程过程调用,也就是说两台服务器A,B,一个应用部署在A服务器上,想要调用B服务器上应用提供的函数/方法。

       由于不在一个内存空间,不能直接调用,需要通过网络来表达调用的语义和传达调用的数据。

原文地址:https://www.cnblogs.com/yuhanghzsd/p/5573937.html