app的啟動與停止
啟動app的命令:adb shell am start -W -n packagename/activity(需啟動的絕對路徑)
啟動鳳凰新聞的具體命令是:adb shell am start -W -n com.ifeng.news2/.activity.SplashActivity
參考文章:https://blog.csdn.net/xiezechang/article/details/8528446
ThisTime:最后一個啟動的Activity的啟動耗時
TotalTime:自己的所有Activity的啟動耗時
WaitTime: ActivityManagerService啟動App的Activity時的總時間(包括當前Activity的onPause()和自己Activity的啟動)
但是棵譬,我們可能并不清楚被測應用的包名和活動名是什么显蝌,這個時候,需要借助命令:
adb shell "logcat | grep START"
現(xiàn)在終端運行這行命令订咸,然后再啟動被測應用曼尊,屏幕里就會輸出包名和活動名
停止app的命令:
adb shell am force-stop packagename(殺死進程)
adb shell input keyevent 3 (置于后臺)
cpu
adb shell "dumpsys cpuinfo | grep packagename"
第一行表示:com.ifeng.news2這個應用cpu占用率為69%,這個過程是在用戶(user)中花26%的時間脏嚷,并在內(nèi)核空間(kernel)花費43%的時間
adb shell "top -d 1 | grep packagename"
這個沒有對應的頭骆撇,可以使用命令 adb shell top 查看對應列代表的含義
流量
首先需要獲取到你想要查看的應用進程的pid,使用adb命令:adb shell "ps | grep com.ifeng.news2"
注意:adb shell cat /proc/pid/status父叙,可查看對應的uid
然后使用命令去獲取該進程的流量:adb shell cat /proc/pid/net/dev
1神郊、receive是指當前進程接收的數(shù)據(jù),transmit是指當前進程發(fā)出請求的數(shù)據(jù)趾唱,流量是這兩者之和
2屿岂、wlan0代表WiFi,單位是字節(jié)鲸匿,/1024可換算成KB
3爷怀、wlan0這些值如何初始化0 很簡單 你打開手機飛行模式再關掉就清0了
電量
首先需要將手機切換到非充電狀態(tài),使用命令:adb shell dumpsys battery set status 1
(adb shell dumpsys battery set status 2:是將手機切回充電狀態(tài))
然后使用命令:adb shell dumpsys battery 獲取手機電池信息
電量的消耗信息:
獲取整個設備的電量消耗信息: adb shell dumpsys batterystats | more
獲取某個apk的電量消耗信息: adb shell dumpsys batterystats com.Package.name | more
加上 >D:\xxx.txt 可將信息輸出到文件中查看
使用命令? python historian.py xxx.txt > xxx.html? 可將獲得的數(shù)據(jù)轉換為可視化的html文件带欢。但之前需要先安裝battery-historian工具运授,具體方法見簡友的這篇文章
內(nèi)存
adb shell top
VSS(virtual set size):虛擬耗用內(nèi)存
RSS(resident set size):實際使用物理內(nèi)存
FPS以及過度渲染
FPS(frames per second):每秒的幀數(shù)(60是很流暢的一個狀態(tài))
進入手機系統(tǒng)設置烤惊,打開開發(fā)者選項,找到“GPU呈現(xiàn)模式分析”吁朦,選擇任一模式都行柒室。如果選擇條形圖,頁面會出現(xiàn)如下畫面:
過度渲染:屏幕中的某個像素在同一幀的時間內(nèi)被繪制了多次
進入手機系統(tǒng)設置雄右,打開開發(fā)者選項梢为,找到“調試GPU過度繪制”黑毅,按需求選擇移层。
參考鏈接:https://www.cnblogs.com/cloudiest/p/8485711.html