Android系統(tǒng)啟動流程: 首先會從ROM中預(yù)定義的地方加載引導(dǎo)程序BootLoader到RAM中,并執(zhí)行BootLoader程序啟動Linux Kernel,然后啟動用戶級別的第一個進(jìn)程init進(jìn)程。
成都創(chuàng)新互聯(lián)公司-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價比壽陽網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式壽陽網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋壽陽地區(qū)。費用合理售后完善,十年實體公司更值得信賴。
SystemServer也是一個進(jìn)程,包括AMS、PMS、WMS等等。zygote意為“受精卵“。Android是基于Linux系統(tǒng)的,而在Linux中,所有的進(jìn)程都是由init進(jìn)程直接或者是間接fork出來的,zygote進(jìn)程也不例外。
源碼分析 -- Android 0 1-system_server 進(jìn)程 1)啟動監(jiān)聽。SystemServer.startBootstrapServices 2)RescueParty.noteBoot 3)mBoot初始化介紹 1-persistent 進(jìn)程 1)啟動。
systemservice就是系統(tǒng)服務(wù),是指執(zhí)行指定系統(tǒng)功能的程序、例程或進(jìn)程,以便支持其他程序,尤其是底層(接近硬件)程序。systemservice作為一種應(yīng)用程序類型,它在后臺運行。
Zygote進(jìn)程fork出 SystemServer 進(jìn)程,然后會調(diào)用SystemServer.main()方法。run方法中,主要是在進(jìn)程中啟動系統(tǒng)的各項服務(wù),比如ActivityManagerService,PackageManagerService,WindowManagerService服務(wù)等。
Android init.rc文件由系統(tǒng)第一個啟動的init程序解析。是啟動系統(tǒng)服務(wù)使用的文件。主要包含了四種類型的語句:Action和services顯式聲明了一個語句塊,而commands和options屬于最近聲明的語句塊。
init進(jìn)程的一個核心部分,是通過解析rc文件,執(zhí)行Action和啟動Service。在分析init進(jìn)程前,有必要先學(xué)習(xí)rc文件的配置和解析的原理。
init是第一個進(jìn)程,我們可以說它是root進(jìn)程或者說有進(jìn)程的父進(jìn)程。init進(jìn)程有兩個責(zé)任,一是掛載目錄,比如/sys、/dev、/proc,二是運行init.rc腳本。init進(jìn)程可以在/system/core/init找到。
一是沒有vi編輯器,二是權(quán)限不夠。但可按一下步驟修改:1:將init.rc文件pull出來;2:修改;3:在android的shell下執(zhí)行mount -o rw -o remount /dev/block/actb /;4:將修改好的init.rc文件push到根目錄下。
Linux系統(tǒng)對進(jìn)程的管理方式是一旦進(jìn)程活動停止,系統(tǒng)就會結(jié)束該進(jìn)程。
Service process 服務(wù)進(jìn)程:該進(jìn)程中開啟了一個服務(wù)(通過startService方法)。注意這里強調(diào)的是服務(wù)的“開啟”,區(qū)別于第一類中的“服務(wù)正在執(zhí)行一些操作”。大多數(shù)音樂軟件都是通過這種方法來保留其播放音樂的進(jìn)程。
待銷毀”的意思??者M(jìn)程。這是一種系統(tǒng)緩存機制,其實就是個進(jìn)程的外殼,當(dāng)有新進(jìn)程創(chuàng)建的時候,這個空進(jìn)程可以加快進(jìn)程創(chuàng)建速度,當(dāng)系統(tǒng)內(nèi)存不足的時候,首先銷毀空進(jìn)程。
原理: 在 Android 中所有進(jìn)程和系統(tǒng)組件的生命周期受 ActivityManagerService 的統(tǒng)一管理。Android0以下通過 Linux 的 fork 機制創(chuàng)建的進(jìn)程為純 Linux 進(jìn)程,其生命周期不受 Android 的管理。
如果你沒有先行設(shè)置的話,清理內(nèi)存后,默認(rèn)還是自啟的。