IPC,含义为进程间通信或者是跨进程通信,是指两个进程之间进行数据交换的过程,那么线程和进程之间有什么区别呢?
其实线程与进程是两个截然不同的概念,按照操作系统的概念,线程是CPU调度最小的单元,一个进程可以包含多个线程,因此进程和线程之间是包含和被包含的关系。
IPC不是android所独有的,任何一个操作系统都有不同的IPC机制,比如Windows中的剪切板,linux中的管道等等,对于android来说,他是一种基于linux内核的移动操作系统,他的进程间通信不能完全继承自linux,在android中最有特色的进程间通信方式就是Binder了,通过Binder可以轻松的实现跨进程间通信,除了Binder,android还支持Socket,通过Socket也可以实现两个进程间的通信。说到IPC,就必须提到多进程,只有在面对多进程的情况下,才需要考虑进程间通信,多进程的情况分为两种,一种是由于自身的原因需要通过采用多进程实现,有些模块由于特殊的原因需要运行在单独的进程当中,又或者是为了加大内存而需要多进程来实现,android早期的版本可能是16M,另一种情况是当前的应用可能需要获取其他应用的数据,甚至系统提供了ContentProvider去查询数据,其实也是一种跨进程的方式,只是底层的细节被系统隐蔽掉了,我们无法感知。
现在我们来了解下android怎么实现多进程?
android的四大组件,通过指定android:process属性,就可以轻易的开启多进程,但是在实际的使用过程中,我们需要注意开启多进程对代码产生的影响。下面我们来介绍一下2中方法来开启多进程。
1:and