1.點擊桌面圖標,Launcher進程將activity啟動的請求以binder的方式發(fā)送給AMS
2.ams接收到啟動請求,交個activityStarter處理Intent和flag等信息,再交給ActivityStack
3.以socket方式請求Zygote進程fork新進程
4.Zygote接收到新進程創(chuàng)建請求之后fork出新進程,
5在新進程中創(chuàng)建ActivityThread對象,新創(chuàng)建的進程就是應(yīng)用的主線程,主線程中開啟Looper消息循環(huán),開始處理activity,
6.activityThread利用classLoader去加載activity,創(chuàng)建activity的實例,并且回調(diào)activity的oncreate方法,這樣就完成了actity的啟動
Activity啟動流程
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
相關(guān)閱讀更多精彩內(nèi)容
- Zygote是什么?有什么作用? Android系統(tǒng)底層基于Linux Kernel, 當Kernel啟動過程會創(chuàng)...
- 1.Activity啟動流程 (7.0版本之前) 從startActivity()開始,最終都會調(diào)用startAc...
- AMS家族重要術(shù)語解釋 ActivityManagerServices,簡稱AMS,服務(wù)端對象,負責(zé)系統(tǒng)中所有Ac...