Android四种进程通信机制比较
Posted zhujm320
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android四种进程通信机制比较相关的知识,希望对你有一定的参考价值。
介绍
进程通信本质是进程间数据交换(既数据从这个进程内存拷贝到另外一个进程),由于进程有独立的地址空间,两个进程需要交换数据,需要通过内核进行中转数据,通信的方式不同,通信效率也不一样。本文将介绍4种常用的进程通信的特点,以及优缺点。
图示:
进程通信方式
管道
一对一的进程通信方式,A进程写管道,B进程读管道;或者A进程读管道,B进程写管道
优点 | 缺点 |
---|---|
1对1通信,使用简单 | 1次通信需要2次拷贝,效率低 |
Socket
C/S模型进程通信方式,需要将数据写入一个端口,服务端监听一个端口
优点 | 缺点 |
---|---|
C/S模型,可以支持1对多的通信,符合android通信调用场景 | 1次通信需要2次拷贝,效率低 |
共享内存
多对多通信,进程通信0次拷贝,效率最高
优点 | 缺点 |
---|---|
0次拷贝,效率最高 | 控制复杂 |
binder
binder机制,android上使用的进程通信机制
优点 | 缺点 |
---|---|
C/S通信模型,通信一次需要1次数据拷贝,可以进行权限控制 | 通信一次数据容量只有1M-8K,大数据通信需要多次通信 |
以上是关于Android四种进程通信机制比较的主要内容,如果未能解决你的问题,请参考以下文章
Android Activity的启动机制流程和四种启动模式