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

前言

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

Android ADB 命令查看

  • 安裝 JDK,下載並安裝
  • 安裝 SDK:
    • 下載地址,下載後的壓縮包,能夠解壓在任意目錄下,不須要安裝操做。
    • 進入 android-sdk-macoxs/tools 文件夾,雙擊 Android 文件啓動 Android SDK Manager, 以下圖

image

- 選擇列表中你須要的平臺,並安裝。  
- 配置環境變量  
   打開終端,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

image

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

image

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

image

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

image

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

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

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

image

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

image

  • CPU 監控以下:

image

Eclipse 之 DDMS

Eclipse 能夠經過 DDMS 檢測內存,可是要在 Eclipse 中檢測 CPU 佔用須要安裝插件,我試用了插件 APT 發現並很差用,所以就不介紹了。下面介紹在 Eclipse 中經過 DDMS 檢測內存使用狀況。android

  • 手機鏈接電腦開啓 USB 調試模式,並打開 Eclipseshell

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

image

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

結語

但願這篇文章可以減小同窗們在檢測 CPU 及內存上花費的時間,從而有更多的時間去研究如何優化的問題。性能優化

相關文章
相關標籤/搜索