adb擷取Android效能資料

來源:互聯網
上載者:User

標籤: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效能資料

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.