成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

Android系統(tǒng)的啟動(dòng)時(shí)間

這里所說的Android系統(tǒng)的啟動(dòng)時(shí)間,并不是簡(jiǎn)單地用秒表和肉眼來統(tǒng)計(jì),而是通過分析系統(tǒng)輸出的log信息來統(tǒng)計(jì),這樣才顯得更加專業(yè)、準(zhǔn)確。

創(chuàng)新互聯(lián)是一家業(yè)務(wù)范圍包括IDC托管業(yè)務(wù),虛擬空間、主機(jī)租用、主機(jī)托管,四川、重慶、廣東電信服務(wù)器租用,托管服務(wù)器,成都網(wǎng)通服務(wù)器托管,成都服務(wù)器租用,業(yè)務(wù)范圍遍及中國(guó)大陸、港澳臺(tái)以及歐美等多個(gè)國(guó)家及地區(qū)的互聯(lián)網(wǎng)數(shù)據(jù)服務(wù)公司。

首先了解2個(gè)概念:

(1) Android是基于Linux內(nèi)核的系統(tǒng),因此Android的啟動(dòng)過程是分為兩個(gè)階段的,第一個(gè)階段就是Linux內(nèi)核的啟動(dòng),第二個(gè)階段就是Android框架的啟動(dòng)(包括核心服務(wù)和程序)。

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

下面我們分別從兩種log信息中找到如何統(tǒng)計(jì)系統(tǒng)啟動(dòng)時(shí)間的方法。

1.  通過dmesg信息統(tǒng)計(jì)系統(tǒng)啟動(dòng)時(shí)間

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

$ adb shell dmesg > dmesg.txt

Linux內(nèi)核啟動(dòng)完成,一般都有如下的標(biāo)準(zhǔn)輸出信息:

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

因此,只要我們?cè)赿mesg.txt文件中找到“Freeing initrd memory”這一行即可,從上面的log可以看出,Linux內(nèi)核啟動(dòng)只用了 3.838682s。

那么,如何找到Android系統(tǒng)啟動(dòng)完成的標(biāo)志呢?

很多Android設(shè)備在系統(tǒng)啟動(dòng)完成后,會(huì)在內(nèi)核log中打印如下信息:

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

因此,找到“boot_completed”這一行也就得到了整個(gè)系統(tǒng)的啟動(dòng)時(shí)間了,從這一行可以看出,整個(gè)系統(tǒng)啟動(dòng)用了29.913726s。

當(dāng)然,并不是所有的Android設(shè)備都會(huì)打印出這條log,因此,我們一般用下面介紹的方法來專門統(tǒng)計(jì)Android系統(tǒng)的啟動(dòng)時(shí)間,

2.  通過logcat統(tǒng)計(jì)系統(tǒng)的啟動(dòng)時(shí)間

文章開頭我們已經(jīng)介紹過,Android的log系統(tǒng)是獨(dú)立于Linux內(nèi)核log系統(tǒng)的,通過在終端輸入adb shell 進(jìn)入Android系統(tǒng),cd到/dev/log目錄,你會(huì)發(fā)現(xiàn)里面有四個(gè)文件,分別是:events,main,radio,system.

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

main - 主要的Log信息,大部分應(yīng)用級(jí)別的Log信息都在這里

events - 系統(tǒng)事件相關(guān)的Log信息

radio   - 無線/電話相關(guān)的Log信息

system - 低級(jí)別的系統(tǒng)調(diào)試Log信息

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

 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

那么,如何統(tǒng)計(jì)Android系統(tǒng)的啟動(dòng)時(shí)間呢?

我們可以重點(diǎn)關(guān)注events類別的log信息,通過如下命令:

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

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

 Android系統(tǒng)的啟動(dòng)時(shí)間

“boot_progress_start”代表著Android屏幕點(diǎn)亮,開始顯示啟動(dòng)動(dòng)畫,即15.492s開始閃爍Android字樣。

“boot_progress_enable_screen”代表著整個(gè)系統(tǒng)啟動(dòng)結(jié)束,即用了29.986s,用這個(gè)總時(shí)間減去Linux Kernel的啟動(dòng)時(shí)間即可得到Android OS部分的時(shí)間。

文章標(biāo)題:Android系統(tǒng)的啟動(dòng)時(shí)間
網(wǎng)站地址:http://jinyejixie.com/article16/poeddg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站建設(shè)、響應(yīng)式網(wǎng)站、做網(wǎng)站服務(wù)器托管、手機(jī)網(wǎng)站建設(shè)、外貿(mào)建站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站托管運(yùn)營(yíng)
平顶山市| 冀州市| 峡江县| 浙江省| 三台县| 崇仁县| 金塔县| 阳城县| 天柱县| 利辛县| 攀枝花市| 肇东市| 陆川县| 仪陇县| 策勒县| 太白县| 富平县| 赤水市| 休宁县| 夏津县| 繁昌县| 靖宇县| 封丘县| 永嘉县| 达拉特旗| 板桥市| 西昌市| 扎囊县| 赣榆县| 东乡族自治县| 河北区| 喜德县| 依安县| 噶尔县| 当涂县| 宁乡县| 裕民县| 天津市| 长海县| 荔浦县| 宜宾县|