当合子死亡时,android如何杀死应用程序进程?

当合子死亡时,android如何杀死应用程序进程?,android,Android,在adb shell stop或adb shell busybox pkill zygote之后,我注意到所有的安卓应用程序进程,如com.android.email都消失了,它是如何完成的?adb shell busybox ps-o pid、ppid、pgid、comm显示所有的应用程序进程都属于同一进程组,而组长是zygote,这就是为什么pkill-zygote会杀死所有的应用程序进程 boot.oat的dex2oat也来自合子,但不属于合子过程组。如果清除dalvik缓存并adb外壳停

adb shell stop
adb shell busybox pkill zygote
之后,我注意到所有的安卓应用程序进程,如
com.android.email
都消失了,它是如何完成的?

adb shell busybox ps-o pid、ppid、pgid、comm
显示所有的应用程序进程都属于同一进程组,而组长是
zygote
,这就是为什么
pkill-zygote
会杀死所有的应用程序进程


boot.oat的dex2oat也来自合子,但不属于合子过程组。如果清除dalvik缓存并
adb外壳停止;adb shell启动
几次后,您将看到多个dex2oat进程同时运行,这将导致OOM错误。

您的意思是什么?合子是所有应用过程的父代。它可以运行所有的应用程序,这也是为什么Zygote会出现在大多数堆栈跟踪中的原因。如果你杀死了Zygote,那么所有的应用程序进程都会随之消亡。如果你花了5秒钟在谷歌上阅读关于Zygote的文章,你自己就会明白这一点。