溫馨提示×

溫馨提示×

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

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

android手機(jī)如何獲取某APP的頁面耗時數(shù)據(jù)(命令行方式)

發(fā)布時間:2020-09-05 14:36:54 來源:網(wǎng)絡(luò) 閱讀:822 作者:lilier 欄目:移動開發(fā)

android手機(jī)如何獲取某APP的頁面耗時數(shù)據(jù)(命令行方式)


  1. 手機(jī)上請安裝busybox;它的用途在于 模擬linux系統(tǒng)下的各種命令,比如 cp\grep...

    如果不搞步驟1,你后面會遇到麻煩的。。反正我是糾結(jié)了一下午。

2. 手機(jī)必須root過,能獲取su權(quán)限;

3. 進(jìn)入cmd,輸入 adb shell; 

4. 輸入 su;

5. 輸入命令 logcat |grep PACKAGENAME |grep Displayed  

即可打印對應(yīng)的頁面的耗時數(shù)據(jù)(看了本文最后內(nèi)的轉(zhuǎn)載內(nèi)容 ,你會明白為何要取這個數(shù)據(jù));

6. 打印出的日志再可以處理;




備注:

華為手機(jī) 打不了日志 在adb shell logcat 下無法打印日志,提示如下:

Note: log switch off, only log_main and log_events will have logs!

解決方法:

手機(jī)撥號*#*#2846579#*#*,進(jìn)入projectmenu--后臺設(shè)置--LOG設(shè)置--LOG開關(guān)--打開;


PS:說明下手機(jī)activity啟動時間計算方式 ,從log角度 計算

以下內(nèi)容為轉(zhuǎn)載:

如何統(tǒng)計Activity啟動所用的時間?

可以通過分析Log得到(這個就是DDMS的那個Log)。

當(dāng)我們點擊觸摸時會了類似以下的Log A:

03-06 03:36:47.865: VERBOSE/InputDevice(2486): ID[0]=0(0) Dn(0=>1)

03-06 03:36:47.865: INFO/PowerManagerService(2486): Ulight 3->7|0

03-06 03:36:47.933: INFO/(2486): PRODUCT_SHIP = false

03-06 03:36:47.933: VERBOSE/InputDevice(2486): ID[0]=0(0) Up(1=>0)

當(dāng)系統(tǒng)收到一個啟動Activity的Intent時會有類似以下的Log B:

03-06 03:36:47.954: INFO/ActivityManager(2486): Starting activity: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=com.teleca/.ContextMenuActivity }

當(dāng)系統(tǒng)完成Activity進(jìn)程啟動時會有類似以下的Log C:

03-06 03:36:48.068: INFO/ActivityManager(2486): Start proc com.teleca for activity com.teleca/.ContextMenuActivity: pid=2933 uid=10089 gids={}

當(dāng)系統(tǒng)完成顯示一個Activity時會有類似以下的Log D:

03-06 03:36:48.302: INFO/ActivityManager(2486): Displayed activity com.teleca/.ContextMenuActivity: 240 ms (total 41289 ms)

那么啟動Activity所用的所有時間=Log D那刻時間 減去Log A 那刻時間。

即:03:36:48.302減去03:36:47.933,簡化即為:48.302減去47.933=369ms.

注1:從Log A到Log B為系統(tǒng)所用時間。:

注2:從Log B到Log D主要是activity本身創(chuàng)建所用的時間(on create(),onresume(),onDraw()等)。48.302減去47.954=348ms.有時也包括了系統(tǒng)為創(chuàng)建activity所在應(yīng)用程序(APK)進(jìn)程所用的時間。

注3:Log D 的“240 ms ”和“(total 41289 ms)”的意義還不清楚。只是”240ms“和Log C到Log D的時間很接近。

附件1:

一個啟動activity的Log:

03-06 03:36:47.865: VERBOSE/InputDevice(2486): ID[0]=0(0) Dn(0=>1)

03-06 03:36:47.865: INFO/PowerManagerService(2486): Ulight 3->7|0

03-06 03:36:47.933: INFO/(2486): PRODUCT_SHIP = false

03-06 03:36:47.933: VERBOSE/InputDevice(2486): ID[0]=0(0) Up(1=>0)

03-06 03:36:47.935: VERBOSE/WindowManager(2486): Dsptch 1 x82.0 y592.0 > Window{485bd6c0 com.sec.android.app.twlauncher/com.sec.android.app.twlauncher.Launcher paused=false}

03-06 03:36:47.954: INFO/ActivityManager(2486): Starting activity: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=com.teleca/.ContextMenuActivity }

03-06 03:36:48.029: INFO/Launcher(2570): onPause()

03-06 03:36:48.044: DEBUG/AudioHardwareALSA(2377):  ALSA OPEN mode 0,device 2

03-06 03:36:48.044: INFO/AudioHardwareALSA(2377): Try to open ALSA PLAYBACK deviceAndroidPlayback_Speaker_normal

03-06 03:36:48.048: WARN/Launcher(2570): WallpaperManager setVisibility visible true

03-06 03:36:48.068: INFO/ActivityManager(2486): Start proc com.teleca for activity com.teleca/.ContextMenuActivity: pid=2933 uid=10089 gids={}

03-06 03:36:48.099: INFO/AudioHardwareALSA(2377): Initialized ALSA PLAYBACK device AndroidPlayback_Speaker_normal

03-06 03:36:48.099: DEBUG/AudioHardwareALSA(2377): Set PLAYBACK PCM format to S16_LE (Signed 16 bit Little Endian)

03-06 03:36:48.099: DEBUG/AudioHardwareALSA(2377): Using 2 channels for PLAYBACK.

03-06 03:36:48.099: DEBUG/AudioHardwareALSA(2377): Set PLAYBACK sample rate to 44100 HZ

03-06 03:36:48.099: DEBUG/AudioHardwareALSA(2377): Buffer size: 2048

03-06 03:36:48.099: DEBUG/AudioHardwareALSA(2377): Latency: 46439

03-06 03:36:48.134: INFO/WindowManager(2486): Setting rotation to 1, animFlags=1

03-06 03:36:48.154: INFO/ActivityManager(2486): Config changed: { scale=1.0 imsi=0/0 loc=en_CA touch=3 keys=1/1/2 nav=1/1 orien=2 layout=34 uiMode=17 seq=3 FlipFont=0}

03-06 03:36:48.189: INFO/Launcher(2570): onWindowFocusChanged(false)

03-06 03:36:48.302: INFO/ActivityManager(2486): Displayed activity com.teleca/.ContextMenuActivity: 240 ms (total 41289 ms)


向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI