Android四种进程通信机制比较

介绍

      进程通信本质是进程间数据交换(既数据从这个进程内存拷贝到另外一个进程),由于进程有独立的地址空间,两个进程需要交换数据,需要通过内核进行中转数据,通信的方式不同,通信效率也不一样。本文将介绍4种常用的进程通信的特点,以及优缺点。

图示:

Android四种进程通信机制比较_第1张图片

进程通信方式

管道

一对一的进程通信方式,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)