Android进程间通信方式总结

说到Android进程间通信,首先要说什么是IPC。

一、什么是IPC

IPC 即 Inter-Process Communication (进程间通信),是指进程间数据交互的过程。
Android底层是基于Linux,而Linux基于安全考虑,是不允许两个进程间直接操作对方的数据,这就是进程隔离

在Linux系统中,虚拟内存机制为每个进程分配了线性连续的内存空间,操作系统将这种虚拟内存空间映射到物理内存空间,每个进程有自己的虚拟内存空间,进而不能操作其他进程的内存空间,每个进程只能操作自己的虚拟内存空间,只有操作系统才有权限操作物理内存空间.进程隔离保证了每个进程的内存安全,但是在大多数情形下,不同进程间的数据通讯是不可避免的,因此操作系统必须提供跨进程通信机制。

虽然Android是基于Linux,但并不能继承Linux中的进程通信的方式,Android有着自己进程间通信方式。常用有如下几种:

1、Bundle (四大组件间)

Bundle主要是在四大组件间进行数据传输的。

2、文件共享

Android进程通信之文件共享(序列化Serialzable与Parcelable中)

3、AIDL (基于Binder)

Android进程通信之AIDL的使用

4、Messenger(基于Binder)
5、ContentProvider(基于Binder)

Android进程间通信之ContentProvider(内容提供者)

6、Socket(网络)

Android进程间通信之Socket使用(TCP、UDP)

二、Android进程间通信几种方式对比

下面引用Android开发艺术探索的总结:
Android进程间通信方式总结
参考Android开发艺术探索