android系統開機流程歸納總結

2021-09-23 18:29:41 字數 3350 閱讀 2179

一,首先我們要正確的抓取ylog日誌

對ylog-ap-current-時間節點-android資料夾下的python檔案進行解壓。

得到0000日誌。

二,然後我們可通過下面日誌中的關鍵字來過濾出關鍵日誌

event log recorded: boot_progress_start (616) - 20433 ms event log recorded: 

//boot_progress_start 代表著android螢幕點亮,開始顯示啟動動畫,標誌著kernel啟動完成,本例中可以看出kernel啟動耗時30s左右

boot_progress_preload_start (616) - 22671 ms event log recorded:

boot_progress_preload_start (656) - 22780 ms event log recorded:

//boot_progress_preload_start zygote啟動

boot_progress_preload_end (616) - 25349 ms event log recorded:

boot_progress_preload_end (656) - 25886 ms event log recorded:

//boot_progress_preload_end zygote結束

boot_progress_system_run (1351) - 25900 ms event log recorded:

//boot_progress_system_run systemserver ready,開始啟動android系統服務,如pms,apms等

boot_progress_pms_start (1351) - 2665 ms event log recorded:

//boot_progress_pms_start pms開始掃瞄安裝的應用

boot_progress_pms_system_scan_start (1351) - 27398 ms event log recorded:

//boot_progress_pms_system_scan_start pms先行掃瞄/system目錄下的安裝包

boot_progress_pms_data_scan_start (1351) - 30690 ms event log recorded:

//boot_progress_pms_data_scan_start pms掃瞄/data目錄下的安裝包

boot_progress_pms_scan_end (1351) - 30622 ms event log recorded:

//boot_progress_pms_scan_end pms掃瞄結束

boot_progress_pms_ready (1351) - 32774 ms event log recorded:

//boot_progress_pms_ready pms就緒

boot_progress_ams_ready (1351) - 36678 ms event log recorded:

//boot_progress_ams_ready ams就緒

boot_progress_enable_screen (1351) - 39123 ms event log recorded:

//boot_progress_enable_screen ams啟動完成後開始啟用螢幕,從此以後螢幕才能響應使用者的觸控,它在windowmanagerservice發出退出開機動畫的時間節點之前,而真正退出開機動畫還會花費少許時間,具體依賴animation zip 包中的desc.txt。

sf_stop_bootanim (475) - 40909 ms event log recorded:

sf_stop_bootanim sf設定service.bootanim.exit屬性值為1,標誌系統要結束開機動畫了,可以用來跟蹤開機動畫結尾部分消耗的時間

wm_boot_animation_done (1351) - 46139 ms

//wm_boot_animation_done才是使用者感知到的動畫結束時間節點

這樣我們就可以清晰的看見我們開機時個程序都用了多久。

三,另外我們也可以從kernel資料夾中的得到開機啟動結束的標誌:

四,init程序

1008:[ 10.630620] (0)[1:init]init: starting service 'ueventd'... 1122:[ 13.371655] 

(3)[1:init]init: starting service 'logd'... 1142:[ 14.824560] (1)[1:init]init: starting service

'debuggerd'... 1143:[ 14.831413] (1)[1:init]init: starting service 'debuggerd64'...

1144:[ 14.839197] (2)[1:init]init: starting service 'vold'... 1149:[ 15.135726]

(3)[1:init]init: starting service 'exec 1 (/system/bin/tzdatacheck)'... 1151:[ 15.233418]

(2)[1:init]init: starting service 'perfd'... 1154:[ 15.288520] (2)[1:init]init: starting

service 'carrier_switcher'... 1156:[ 15.448583] (3)[1:init]init: starting service 'logd-

reinit'... 1167:[ 15.833831] (0)[1:init]init: starting service 'exec 2

(/init.qcom.early_boot.sh)'... 1238:[ 16.640513] (1)[1:init]init: starting service

'healthd'... 1239:[ 16.647123] (1)[1:init]init: starting service 'qcom-c_core-sh'...

1240:[ 16.654727] (1)[1:init]init: starting service 'irsc_util'... 1242:[ 16.669672]

(1)[1:init]init: starting service 'rmt_storage'... 1244:[ 16.687135] (1)[1:init]init: starting

service 'tftp_server'...

android 系統開機流程

1.使用者按下電源鍵,引導晶元 從預定義的地方開始執行,載入引導程式bootloader到ram,然後開始執行 2.啟動引導程式bootloader,然後linux核心啟動 3.linux核心啟動後,設定快取,設定保護儲存器,計畫列表,載入驅動等操作。當核心完成系統設定之後,會查詢init檔案,然後...

Android 開機流程

android 開機流程,是乙個很值得詳細討論的主題 近期,也正在進行相關的技術工作,因此簡單整理一些相關資料,和大家分享。了解 整體開機流程 是最重要的第一門課。我們將開機劃分為三大階段 1.os level,由 bootloader 載入 linux kernel 後,開始進行 kernel 本...

linux系統開機流程詳解

今天,我們主要來談談計算機系統的啟動流程 1 bios啟動 bios是寫入到主機板上的乙個韌體 韌體就是寫入到硬體上的乙個軟體程式 開機的時候,bios是計算機系統會主動執行的第乙個程式。bios主要的乙個功能就是儲存了磁碟的啟動順序,它會按照啟動順序去讀取能夠開機的硬碟的第乙個扇區的mbr資訊 2...