月底的時候淘寶眾籌的 H5 接入到了支付寶錢包,上線前支付寶錢包就對性能提出了明確要求:即頁面靜態下 app 的 CPU 消耗要低于 10%。我面臨的第一個問題并不是如何優化,而是要如何便利地查看 CPU 的占用率。CPU 占用率的有效分析對于性能優化是至關重要的。因此,本文并不會講移動端 CPU 占用率的優化,而是講其“前戲”——如何查看移動端的 CPU 以及內存占有率。
- 選擇列表中你需要的平臺,并安裝。 - 配置環境變量 打開終端,home 目錄下打開 .bash_PRofile 文件并寫入 export PATH=${PATH}:/Users/{{sdk 存放目錄}}/android-sdk-macosx/toolsexport PATH=${PATH}:/Users/{{sdk 存放目錄 }}/android-sdk-macosx/platform-tools
手機連接電腦開啟 USB 調試模式,進入 adb shell
查看 CPU 占用率查看 CPU 占用排名前 5 的程序并間隔 3 秒輸出 top -m 5 -t -d 3
(-m 最大數;-t 顯示進程名;-d刷新間隔),如下圖:
- 根據進程名查看其 CPU 占用率 `top -d 3| grep com.taobao.trip`(例如查看阿里旅行的 CPU 占用率))
查看內存使用情況adb shell dumpsys meminfo <package_name>
或adb shell dumpsys meminfo <package_id>

Android Studio 自帶 CPU 和內存檢測功能
Android Studio 有自帶的 CPU 和內存檢測功能
檢測是否安裝 java 虛擬機 JDK ,若沒有則進行 下載并安裝;若已安裝,則檢測版本號,低于 6 則不可用,檢測方法 javac -version
安裝 Android Studio,下載地址 http://developer.android.com/sdk/index.html手機連接電腦開啟 USB 調試模式,并打開 Android Studio,看到如圖:
點擊上圖標注 1 ,在標注 2 中選擇要調試的手機,標注 3 中選擇要檢測的應用進程,例如 ‘com.eg.android.AlipayGphone’ 即支付寶。點擊標注 4 即進行內存的監控,標注 5 即是對CPU的監控。內存的監控如下:
CPU 監控如下:
Eclipse 之 DDMS
Eclipse 可以通過 DDMS 檢測內存,但是要在 Eclipse 中檢測 CPU 占用需要安裝插件,我試用了插件 APT 發現并不好用,因此就不介紹了。下面介紹在 Eclipse 中通過 DDMS 檢測內存使用情況。
手機連接電腦開啟 USB 調試模式,并打開 Eclipse
點擊工具欄 Window -> Open Perspective -> Other -> DDMS,如下圖:

標注 1 區域為當前虛擬機上的程序列表,選擇要檢測的程序,點擊標注 3 給改程序設置 heap Updates,在標注 2 Heap 視圖中點擊 Cause GC 就可以看到該程序的內存使用情況。結語
希望這篇文章能夠減少同學們在檢測 CPU 及內存上花費的時間,從而有更多的時間去研究如何優化的問題。
新聞熱點
疑難解答