亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Android系統的啟動時間

發布時間:2020-05-22 15:49:44 來源:網絡 閱讀:1909 作者:PlayWithYou 欄目:建站服務器

這里所說的Android系統的啟動時間,并不是簡單地用秒表和肉眼來統計,而是通過分析系統輸出的log信息來統計,這樣才顯得更加專業、準確。


首先了解2個概念:


(1) Android是基于Linux內核的系統,因此Android的啟動過程是分為兩個階段的,第一個階段就是Linux內核的啟動,第二個階段就是Android框架的啟動(包括核心服務和程序)。


(2)Android 的log系統是獨立于Linux內核的log系統的。Linux內核通過printk打印的log信息,這些log寫入到了/dev/kmsg文件中,在 Shell終端可以通過dmesg命令查看這些log信息。Android框架則是通過Logger驅動打印log信息,這些log并沒有歸并到 kmesg文件中,而是單獨存儲的,位于/dev/log目錄下,在Shell終端可以通過logcat命令來查看。


下面我們分別從兩種log信息中找到如何統計系統啟動時間的方法。


1.  通過dmesg信息統計系統啟動時間


首先,我們通過dmesg命令抓取Linux內核的log信息(部分系統可能需要先執行 adb root):


$ adb shell dmesg > dmesg.txt


Linux內核啟動完成,一般都有如下的標準輸出信息:


[    3.838682]Freeing initrd memory: 1844K (ffffffc003600000 - ffffffc0037cd000)


因此,只要我們在dmesg.txt文件中找到“Freeing initrd memory”這一行即可,從上面的log可以看出,Linux內核啟動只用了 3.838682s


那么,如何找到Android系統啟動完成的標志呢?


很多Android設備在系統啟動完成后,會在內核log中打印如下信息:


<6>[ 29.913726] init: processing action 0x96bb8 (property:sys.boot_completed=1)


因此,找到“boot_completed”這一行也就得到了整個系統的啟動時間了,從這一行可以看出,整個系統啟動用了29.913726s。


當然,并不是所有的Android設備都會打印出這條log,因此,我們一般用下面介紹的方法來專門統計Android系統的啟動時間,


2.  通過logcat統計系統的啟動時間


文章開頭我們已經介紹過,Android的log系統是獨立于Linux內核log系統的,通過在終端輸入adb shell 進入Android系統,cd到/dev/log目錄,你會發現里面有四個文件,分別是:events,main,radio,system.


Android系統把Log分為了四類,不同的類別記錄不同的Log信息:


main - 主要的Log信息,大部分應用級別的Log信息都在這里

events - 系統事件相關的Log信息

radio   - 無線/電話相關的Log信息

system - 低級別的系統調試Log信息


默認通過logcat抓取的是main信息,如果想抓取指定類別的log信息的方法,在logcat命令后加-b參數,例如:

 adb logcat -d -v time -b "main"   >  main.txt
 adb logcat -d -v time -b "events" >  events.txt
 adb logcat -d -v time -b "system" >  system.txt
 adb logcat -d -v time -b "radio"  >  radio.txt

那么,如何統計Android系統的啟動時間呢?


我們可以重點關注events類別的log信息,通過如下命令:


$ adb logcat -d -b events | grep "boot"


如圖所示,這是我在高通的msm8953開發板上抓取的log信息:


 Android系統的啟動時間


“boot_progress_start”代表著Android屏幕點亮,開始顯示啟動動畫,即15.492s開始閃爍Android字樣。


“boot_progress_enable_screen”代表著整個系統啟動結束,即用了29.986s,用這個總時間減去Linux Kernel的啟動時間即可得到Android OS部分的時間。



向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

巴楚县| 龙陵县| 清丰县| 子洲县| 来宾市| 青铜峡市| 神农架林区| 偃师市| 新野县| 辛集市| 鹤山市| 读书| 怀仁县| 马关县| 台南县| 尚志市| 嘉善县| 乐安县| 德化县| 高青县| 虎林市| 交口县| 阿合奇县| 南投市| 共和县| 盐津县| 巨野县| 泰宁县| 白城市| 壶关县| 墨竹工卡县| 德江县| 政和县| 平安县| 上饶县| 东乡族自治县| 普兰县| 庆元县| 扶风县| 甘南县| 阿坝县|