2.1 Android IPC 簡介
2.2.1 開啟多進程模式
-
什么是IPC
Inter-Process Communication含義為進程間通信或者跨進程通信,是指兩個進程之間進行數(shù)據(jù)交換的過程。
-
線程的概念
CUP的最小調度單位,同時線程是一種有限的資源。
-
進程
一個執(zhí)行單元,在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"的區(qū)別
-
:的含義是指要在當前的進程名前面附加上當前的包名。 - 以
:開頭的進程屬于當前應用的私有進程,其他應用組件不可以和它處在同一個進程中;而進程名不以:開頭的進程屬于全局進程,其他應用可以通過ShareUID方式可以和它處在同一個進程中。
-
UID
系統(tǒng)會為每個應用分配一個唯一的UID,具有相同UID的應用才能共享數(shù)據(jù)。