最近測試AndroidCPU,需要用到iTest,多次測試數據感覺出入很大,所以查閱資料所得iTest的CPU計算方法如下
一.採樣法
採樣法與上文中的linux的算法基本相同,不同點在於,使用500毫秒採樣的值來代表監控間隔的值,例子:
監控間隔爲5秒,則每隔5秒,系統花費500毫秒計算cpu佔用率,並且將這個值作爲監控間隔內的cpu佔用率。
缺點 :只有當監控間隔比較小,或者採樣個數比較多時,纔有意義。
優點 :如果發現採樣的數據有問題,可以重試多次!這種方法非常適合手機這種不穩定的平臺;
二.平均值法
平均值法用的就是linux的算法,Emmagee等同類工具也是如此。例子:
監控間隔爲5秒,則5秒前記錄一次cpu的原始數據,5秒後記錄一次cpu的原始數據, 將被測應用在這段時間內的佔用cpu時間除以總的cpu佔用時間即可。(即5秒內的平均值)
缺點 :
1)平均值會比實際值“好看”,不能突出問題。(參考天朝的人均收入)
2) 如果本次間隔內的數據有問題,則只能打印錯誤碼,無法改正/重試。
優點 :
數據有可比性,和其它工具的算法一樣,所以數據可以直接對比。