如何檢測移動端CPU以及內存占用率

jopen 9年前發布 | 71K 次閱讀 移動端 測試工具
 

如何檢測移動端CPU以及內存占用率

前言

6 月底的時候淘寶眾籌的 H5 接入到了支付寶錢包,上線前支付寶錢包就對性能提出了明確要求:即頁面靜態下 app 的 CPU 消耗要低于 10%。我面臨的第一個問題并不是如何優化,而是要如何便利地查看 CPU 的占用率。CPU 占用率的有效分析對于性能優化是至關重要的。因此,本文并不會講移動端 CPU 占用率的優化,而是講其“前戲”——如何查看移動端的 CPU 以及內存占有率。

Android ADB 命令查看

  • 安裝 JDK, 下載并安裝
  • 安裝 SDK:
    • 下載地址 ,下載后的壓縮包,可以解壓在任意目錄下,不需要安裝操作。
    • 進入 android-sdk-macoxs/tools 文件夾,雙擊 Android 文件啟動 Android SDK Manager, 如下圖
      如何檢測移動端CPU以及內存占用率
    • 選擇列表中你需要的平臺,并安裝。
    • 配置環境變量
      打開終端,home 目錄下打開 .bash_profile 文件并寫入
      export PATH=${PATH}:/Users/{{sdk 存放目錄}}/android-sdk-macosx/tools
      export PATH=${PATH}:/Users/{{sdk 存放目錄 }}/android-sdk-macosx/platform-tools

  • 手機連接電腦開啟 USB 調試模式,進入 adb shell

如何檢測移動端CPU以及內存占用率

  • 查看 CPU 占用率
    • 查看 CPU 占用排名前5的程序并間隔3秒輸出top -m 5 -t -d 3(-m 最大數;-t 顯示進程名;-d刷新間隔),如下圖:

如何檢測移動端CPU以及內存占用率

- 根據進程名查看其 CPU 占用率 `top -d 3| grep com.taobao.trip`(例如查看阿里旅行的 CPU 占用率)) 

如何檢測移動端CPU以及內存占用率

  • 查看內存使用情況
    • adb shell dumpsys meminfo <package_name>或adb shell dumpsys meminfo <package_id>

如何檢測移動端CPU以及內存占用率

Android Studio 自帶 CPU 和內存檢測功能

Android Studio 有自帶的 CPU 和內存檢測功能

  • 檢測是否安裝 Java 虛擬機 JDK ,若沒有則進行 下載并安裝 ;若已安裝,則檢測版本號,低于6則不可用,檢測方法
javac -version 

如何檢測移動端CPU以及內存占用率

  • 點擊上圖標注1 ,在標注 2 中選擇要調試的手機,標注 3 中選擇要檢測的應用進程,例如 ‘com.eg.android.AlipayGphone’ 即支付寶。點擊標注 4 即進行內存的監控,標注 5 即是對CPU的監控。
  • 內存的監控如下:

如何檢測移動端CPU以及內存占用率

  • CPU 監控如下:

如何檢測移動端CPU以及內存占用率

Eclipse 之 DDMS

Eclipse 可以通過 DDMS 檢測內存,但是要在 Eclipse 中檢測 CPU 占用需要安裝插件,我試用了插件 APT 發現并不好用,因此就不介紹了。下面介紹在 Eclipse 中通過 DDMS 檢測內存使用情況。

  • 手機連接電腦開啟 USB 調試模式,并打開 Eclipse

  • 點擊工具欄 Window -> Open Perspective -> Other -> DDMS,如下圖:

如何檢測移動端CPU以及內存占用率

  • 標注 1 區域為當前虛擬機上的程序列表,選擇要檢測的程序,點擊標注 3 給改程序設置 heap Updates,在標注 2 Heap 視圖中點擊 Cause GC 就可以看到該程序的內存使用情況。

結語

希望這篇文章能夠減少同學們在檢測 CPU 及內存上花費的時間,從而有更多的時間去研究如何優化的問題。

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!