Android設(shè)備啟動順序依次為:BootLoader、LinuxKernel、Android系統(tǒng)服務(wù)。Android系統(tǒng)服務(wù)通過init.rc腳本相繼開啟。
init.rc腳本文件是Android系統(tǒng)中第一個被啟動的進程,PID為0,構(gòu)建出Android系統(tǒng)的初始運行形態(tài),由純文本編寫。
-
init.rc內(nèi)定義了一系列Action事件和Service服務(wù)
-
Anction實際上為響應(yīng)某事件的過程。事件發(fā)生后,init.rc對各Action的trigger進行匹配,符合觸發(fā)條件的Action被添加到隊列尾部,系統(tǒng)按順序執(zhí)行各事件對應(yīng)的command。
on <trigger> <command1> <command2> ... -
Service服務(wù)實際上是可執(zhí)行程序,在option選項的約束下運行或重啟
service <name><pathname> --argument1 --argument2 <option1> <option2> ...
-
-
由init.rc啟動的三類關(guān)鍵系統(tǒng)服務(wù):
- ServiceManager
- Zygote 生成Android中大多數(shù)應(yīng)用及系統(tǒng)進程,包括本地系統(tǒng)服務(wù)與Java層系統(tǒng)服務(wù)(通過入口main@SystemService.java啟動)
- SystemServer Android進入Lanuncher前的最后準備,提供Java編寫的系統(tǒng)服務(wù)
9.14
最后編輯于 :
?著作權(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)容
- Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
- 1:InputChannel提供函數(shù)創(chuàng)建底層的Pipe對象 2: 1)客戶端需要新建窗口 2)new ViewRo...
- Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
- 阿里巴巴股價繼續(xù)創(chuàng)新高,收116.65美元。過往12個月累計漲幅超過50%,成為市值超過2500億美元的公司。 新...