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

Posted 夜の魅

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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服务器上应用提供的函数/方法。

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

 

以上是关于android ipc通信机制之之三,进程通讯方式。的主要内容,如果未能解决你的问题,请参考以下文章

IPC进程间通讯之三内存映射文件Mapping File

Android里的多进程和跨进程通讯方式

进程间通讯IPC的几种方式的优缺点总结

Android之IPC(aidl)

Android IPC跨进程通讯的几种方式作用

Android IPC通信机制之一