標籤:usb jdk 啟動 activity cal 友好度 監測 tag windows
環境:Android測試環境
搭建Android測試環境:
1、下載AndroidSDK;
2、配置環境變數;
(1)、ANDROID_HOME
(2)、ANDROID_HOME-TOOLS
(3)、ANDROID_HOME-PALTFORM-TOOLS
3、Android底層Java開發,如需運行安卓遠端偵錯橋(adb),需Java運行環境;
4、下載JAVA;PS:下載JDK和JRE都行,JDK為JAVA開發環境,JRE為JAVA運行環境,開發環境中包含運行環境;
5、配置環境變數JAVA_HOME;
6、驗證Java -version;出現版本號碼即可
PS:Android手機如與windowS電腦串連需安裝手機驅動;Mac自動監測安裝
移動端效能測試指標:
1、啟動時間;(1)、冷啟動 (2)、暖開機
冷啟動:應用的第一次啟動,這個時候應用程式的進程是沒有建立的
暖開機:應用非第一次啟動,如果按back鍵,並沒有將應用進程殺掉,暖開機沒有了初始化的過程
adb命令:adb shell am start -W mainActivity 可以看到ThisTime TotalTime WaitTime
ThisTime表示一連串啟動Activity的最後一個Activity的啟動耗時;
TotalTime表示新應用啟動的耗時,包括新進程的啟動和Activity的啟動,但不包括前一個應用Activity pause的耗時;
WaitTime就是總的耗時,包括前一個應用Activity pause的時間和新應用啟動的時間;
最後總結一下,如果只關心某個應用自身啟動耗時,參考TotalTime;如果關心系統啟動應用耗時,參考WaitTime;如果關心應用有介面Activity啟動耗時,參考ThisTime
PS:am全名activity manager,你能使用am去類比更重系統的行為
pm全名package manager,你能使用pm命令去類比Android行為或查詢裝置上的應用等,當你在adb shell 命令下執行pm命令
2、CPU佔用率;
adb命令:adb shell top | grep pid
adb shell top | grep package
adb shell dumpsys cpuinfo | grep pid
adb shell dumpsys cpuinfo | grep package
PS: 最好先adb shell 進入安卓系統,在執行adb shell之後的語句 windows系統dos視窗中grep換成find
3、記憶體佔用率;
adb命令:adb shell dumpsys meminfo | grep pid
adb shell dumpsys meminfo | grep package
PS: 最好先adb shell 進入安卓系統,在執行adb shell之後的語句。 windows系統dos視窗中grep換成find
TOTAL行的資料作為當前app內測佔用的衡量資料;
執行出現結果會看到USS、RSS、VSS、PSS
USS指進程對子佔用實體記憶體(不包含共用庫佔用的記憶體);
RSS指實際使用的實體記憶體(包含共用庫佔用的記憶體);
VSS指虛擬好用記憶體;
PSS指實際使用的實體記憶體;
PS:移動端採用PSS指標
4、耗電量;
adb命令:adb shell dumpsys battery
PS: 最好先adb shell 進入安卓系統,在執行adb shell之後的語句
出現資訊解讀:
AC powered:false 是否串連AC(電源)充電線
USB powered:true 是否串連USB(PC或筆記本USB插口)充電
Wireless powered:false 是否使用了無線電源
status: 1 電池狀態,2為充電狀態,其他為非充電狀態
level:58 電量(%)
scale: 100. 電量最大數值
voltage: 3977 當前電壓(mV)
current now: -335232. 當前電流(mA)
temperature:355 電池溫度,單位為0.1攝氏度
technology:Li-poly. 電池種類
5、溫度;
cat /etc/thermald.conf
cat 為查看命令
6、每秒畫面格數(流暢度)[fps];
adb命令:adb shell dumpsys gfxinfo package
PS: 最好先adb shell 進入安卓系統,在執行adb shell之後的語句
正常情況下幀率應該在16ms左右,如果1秒60幀的話,而且Execute時間太長!需要最佳化
7、GPU佔用率;
PS :遊戲會測試到,但一般不去測試該指標;
8、網路;
(1)、Wi-Fi[網路友好度]
(2)、蜂窩[耗費資源和友好度]
adb 命令:adb shell dumpsys package | grep userId [通過app包名,擷取app的userID(安裝後唯一且固定)]
adb shell cat /proc/uid_stat/userId/tcp_rcv [cat為查看命令,讀取tcp_rcv擷取下載應用流量資訊(裝置重啟後清零)]
adb shell cat /proc/uid_stat/userId/tcp_snd [cat為查看命令,讀取tcp_snd擷取下載應用流量資訊(裝置重啟後清零)]
9、ANR(頁面無響應);
10、Crash(程式崩潰);
PS :ANR和Crash使用Monkey測試
註:dumpsys是Android手機裡面的可執行檔
adb擷取Android效能資料