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

- 選擇列表中你需要的平臺(tái),并安裝。 - 配置環(huán)境變量 打開終端,home 目錄下打開 .bash_PRofile 文件并寫入 export PATH=${PATH}:/Users/{{sdk 存放目錄}}/android-sdk-macosx/toolsexport PATH=${PATH}:/Users/{{sdk 存放目錄 }}/android-sdk-macosx/platform-tools
手機(jī)連接電腦開啟 USB 調(diào)試模式,進(jìn)入 adb shell
查看 CPU 占用率查看 CPU 占用排名前 5 的程序并間隔 3 秒輸出 top -m 5 -t -d 3(-m 最大數(shù);-t 顯示進(jìn)程名;-d刷新間隔),如下圖:
- 根據(jù)進(jìn)程名查看其 CPU 占用率 `top -d 3| grep com.taobao.trip`(例如查看阿里旅行的 CPU 占用率))
查看內(nèi)存使用情況adb shell dumpsys meminfo <package_name>或adb shell dumpsys meminfo <package_id>
Android Studio 自帶 CPU 和內(nèi)存檢測(cè)功能
Android Studio 有自帶的 CPU 和內(nèi)存檢測(cè)功能
檢測(cè)是否安裝 java 虛擬機(jī) JDK ,若沒(méi)有則進(jìn)行 下載并安裝;若已安裝,則檢測(cè)版本號(hào),低于 6 則不可用,檢測(cè)方法 javac -version
安裝 Android Studio,下載地址 http://developer.android.com/sdk/index.html手機(jī)連接電腦開啟 USB 調(diào)試模式,并打開 Android Studio,看到如圖:
點(diǎn)擊上圖標(biāo)注 1 ,在標(biāo)注 2 中選擇要調(diào)試的手機(jī),標(biāo)注 3 中選擇要檢測(cè)的應(yīng)用進(jìn)程,例如 ‘com.eg.android.AlipayGphone’ 即支付寶。點(diǎn)擊標(biāo)注 4 即進(jìn)行內(nèi)存的監(jiān)控,標(biāo)注 5 即是對(duì)CPU的監(jiān)控。內(nèi)存的監(jiān)控如下:
CPU 監(jiān)控如下:
Eclipse 之 DDMS
Eclipse 可以通過(guò) DDMS 檢測(cè)內(nèi)存,但是要在 Eclipse 中檢測(cè) CPU 占用需要安裝插件,我試用了插件 APT 發(fā)現(xiàn)并不好用,因此就不介紹了。下面介紹在 Eclipse 中通過(guò) DDMS 檢測(cè)內(nèi)存使用情況。
手機(jī)連接電腦開啟 USB 調(diào)試模式,并打開 Eclipse
點(diǎn)擊工具欄 Window -> Open Perspective -> Other -> DDMS,如下圖:

標(biāo)注 1 區(qū)域?yàn)楫?dāng)前虛擬機(jī)上的程序列表,選擇要檢測(cè)的程序,點(diǎn)擊標(biāo)注 3 給改程序設(shè)置 heap Updates,在標(biāo)注 2 Heap 視圖中點(diǎn)擊 Cause GC 就可以看到該程序的內(nèi)存使用情況。結(jié)語(yǔ)
希望這篇文章能夠減少同學(xué)們?cè)跈z測(cè) CPU 及內(nèi)存上花費(fèi)的時(shí)間,從而有更多的時(shí)間去研究如何優(yōu)化的問(wèn)題。
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注