2.1 Android IPC 简介
2.2.1 开启多进程模式
-
什么是IPC
Inter-Process Communication含义为进程间通信或者跨进程通信,是指两个进程之间进行数据交换的过程。
-
线程的概念
CUP的最小调度单位,同时线程是一种有限的资源。
-
进程
一个执行单元,在PC和移动设备上指一个程序或者一个应用。
-
Android中使用多进程的方法
Activity、Service、Receiver、ContentProvider在AndroidMenifest中指定android:process属性。
我们无法给一个线程或者一个实体类指定其运行时所在的进程。
还有通过JNI在native层fork一个新的进程。
举例说明
<activity
android:name=".SecondActivity"
android:configChanges="screenLayout"
android:labe="@string/app_name"
android:process=":remote" />
<activity
android:name=".ThridActivity"
android:configChanges="screenLayout"
android:label="@string/app_name"
android:process="com.ghyz.remote" />
android:process=":remote"
与 android:process="com.ghyz.remote"
的区别
-
:
的含义是指要在当前的进程名前面附加上当前的包名。 - 以
:
开头的进程属于当前应用的私有进程,其他应用组件不可以和它处在同一个进程中;而进程名不以:
开头的进程属于全局进程,其他应用可以通过ShareUID
方式可以和它处在同一个进程中。
-
UID
系统会为每个应用分配一个唯一的UID,具有相同UID的应用才能共享数据。