應(yīng)用程序進(jìn)程啟動(dòng)過(guò)程,Android7.0為例。
應(yīng)用程序進(jìn)程,啟動(dòng)應(yīng)用程序從啟動(dòng)應(yīng)用程序進(jìn)程開(kāi)始。點(diǎn)擊應(yīng)用程序啟動(dòng)的時(shí)候,Activity'ManagerService檢查應(yīng)用程序的進(jìn)程是否存在,不存在Zygote進(jìn)程就會(huì)啟動(dòng)應(yīng)用程序?qū)?yīng)的進(jìn)程。
為什么Zygote能管理應(yīng)用程序進(jìn)程:系統(tǒng)啟動(dòng)時(shí),Zygote在java框架層中會(huì)創(chuàng)建一個(gè)連接Server端的Socket,這個(gè)socket連接的是Zygote和ActivityManagerService,ActivityManagerService可以通過(guò)這個(gè)socket向Zygote發(fā)送請(qǐng)求創(chuàng)建新的應(yīng)用程序進(jìn)程。
暫停