说到Android进程间通信,首先要说什么是IPC。
一、什么是IPC
IPC 即 Inter-Process Communication (进程间通信),是指进程间数据交互的过程。
Android底层是基于Linux,而Linux基于安全考虑,是不允许两个进程间直接操作对方的数据,这就是进程隔离
在Linux系统中,虚拟内存机制为每个进程分配了线性连续的内存空间,操作系统将这种虚拟内存空间映射到物理内存空间,每个进程有自己的虚拟内存空间,进而不能操作其他进程的内存空间,每个进程只能操作自己的虚拟内存空间,只有操作系统才有权限操作物理内存空间.进程隔离保证了每个进程的内存安全,但是在大多数情形下,不同进程间的数据通讯是不可避免的,因此操作系统必须提供跨进程通信机制。
虽然Android是基于Linux,但并不能继承Linux中的进程通信的方式,Android有着自己进程间通信方式。常用有如下几种:
1、Bundle (四大组件间)
Bundle主要是在四大组件间进行数据传输的。
2、文件共享
Android进程通信之文件共享(序列化Serialzable与Parcelable中)