文章目录
一、Android IPC简介
IPC含义为进程间通信或跨进程通信,是指两个进程之间进行数据交换的过程
线程是CPU调度的最小单元,同时线程是一种有限的系统资源,而进程一般指一个执行单元,在PC和移动设备上指一个程序或者一个应用。
一个进程可以包含多个线程,因此进程和线程是包含与被包含的关系。
最简单的情况下,一个进程可以只有一个线程,即主线程,在Android里面主线程也叫UI线程,只有在UI线程中才能操作界面元素。
在Android中有一个特殊名字叫做ANR(Application Not Responding),即应用无响应,解决这个问题就需要用到线程,把一些耗时任务放在线程中即可。
二、Android中的多进程模式
1. 开启多进程模式
在Android中使用多进程只有一种方法,就是给四大组件在AndroidMenifest中指定android:process属性,除此之外没有别的办法。
下面是一个实例,为MainActivity2和MainActivity3指定不同的process属性。
“:remote”的意思为:要在当前的进程名前面附加上当前的包名,所以对于MainActivity3来说完整进程名为“com.aye.test1202:remote”
对于MainActivity2中的声明方式是一种完整的命名方式,不会附加包名信息。
进程名以“:”开头的进程属于当前应用的私有进程,其他应用组件不可以和他泡在同一个进程中,而不易“:”开头的进程属于全局进程,其他应用可以通过ShareUID的方式和他跑在同一进程中。
<activity android:name=".MainActivity3"
android:process=":remote"></activity>
<activity android:name=".MainActivity2"
android:process="com.aye.test1202.remote"/>
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />