最近在做設備性能測試,下面和大家分享一下android應用程序的CPU和內存的性能測試。我們知道監(jiān)測CPU和內存占用是一個實時變化的狀態(tài),我們可以通過Linux的資源監(jiān)控命令來實現(xiàn)對android平臺的資源實時監(jiān)控。
要做到上面的測試環(huán)境需要具備以下幾點:
1、被測試的手機具備root權限:因為涉及到底層的linux命令,需要讀取或執(zhí)行相應的文件。
2、需要搭建android的開發(fā)環(huán)境:因為我們需要監(jiān)控的是具體的某個應用資源占用的情況,所以需要知道這個應用對應的“安裝的包名”是什么,這就需要使用android開發(fā)環(huán)境中DDMS模塊中的Devi、es中查看,當啟動被測軟件時,其主應用程序的安裝包名一般就會在列表的最下端出現(xiàn)(如google地圖等除外,開機就啟動了)。

image.png
3、通過Linux命令監(jiān)控。前面都是一些初始的準備步驟,
(1)adb shell
(2)echo 3>/proc/sys/vm/drop_caches(清除系統(tǒng)cache)
(3)top -d 1 | grep com.baidu.BaiduMap(以百度為例,每一秒打印一次資源利用情況)

image.png
由于使用了復合查詢”管道符“的方式,所以必須擁有root權限,否則grep的命令無法識別。
在這里我們看到cmd并沒有顯示出所對應的列的標題,所以我們可以單獨通過top命令來了解到:

image.png
至于以上各列的含義我不說我想大家也應該猜得到了,在這里僅說一下我們要用到的兩個參數(shù),其他的可以再網(wǎng)上查詢了解:
|--CPU%:CPU占用率
|--RSS:實際占用的物理內存數(shù),單位KB
我們可以針對不同的業(yè)務,打印出不同的“標簽”,用于區(qū)別現(xiàn)在從事的那個業(yè)務,并為后期分析各業(yè)務模塊中CPU和內存的占用以及對比使用。