在开发一个单独模块时,希望起一个子进程和主进程隔离,加快启动速度。但是在测试过程中发现:
- 每次子进程初始化时,主进程也会初始化一遍,android 系统会把主进程拉起来。
- 可以单独启动主进程(默认进程)
进程创建如下:
<activity
android:name=".ble.server.MainActivity1"
android:label="Mock Vehicle"
android:screenOrientation="nosensor">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".ble.MainActivity2"
android:process=":test"
android:screenOrientation="nosensor" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
我在想是不是因为命名的原因,因为:test时私有进程。其他的程序代码不能够在此进程执行。
然后进行去掉:测试
<activity
android:name=".ble.MainActivity2"
android:process="test"
android:screenOrientation="nosensor" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
测试结果如下:
最终得出结论:
在android 应用中如果有多个进程,当子进程被拉起时,主进程也会被初始化。
但是主进程被拉起时,子进程不会被拉起。
如果有大佬看过源码,欢迎回帖