一,首先我們要正確的抓取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...