前言
学习多进程通信之前,需要先了解一下多进程的基础知识,
-
进程的定义
在安卓中,进程是系统资源分配的最小单位,而线程是进程内部独立执行单元,是程序执行的最小单位。进程间的资源和数据互相隔离,而进程内的线程间是共享大多数资源和数据的,进程内可以运行多个线程,线程的崩溃会影响到进程的。 -
为什么使用多进程的开发?
由于系统资源紧张,每个应用可以使用的系统内存是有限制的,系统资源不足,就会抛出OOM的异常,通过多进程将占用内存高的功能运行到子进程中,就可以避免系统资源紧张的问题,就算子进程崩溃也不会影响主进程的运行。或者由于应用架构臃肿,可以将独立的功能剥离到独立的子进程,实现功能解耦。 -
进程隔离
在Android操作系统中,为了应用安全性和独立性,进程和进程之间的内存和数据是不共享的,一个进程不能直接操作或者访问另一个进程。为了实现进程隔离,采用了虚拟地址空间,两个进程各自的虚拟地址不同,从逻辑上实现隔离。 -
跨进程通信(IPC:即进程间通信或者跨进程通信)即进程间需要数据交互和通信
-
内存相关