我的目標是使用工具測試(AndroidJUnitRunner)爲Android CPU密集型代碼編寫自動性能測試。使用Android儀器測試測量性能
我很驚訝地發現,測試結果是不可靠的,模擬CPU密集型代碼,我想測試一下,我寫了下面的循環
for(int i=0;i<1000000;i++){
Math.pow(2,i);
}
的代碼進行了測試作爲一種工具測試Android應用
內我得到的結果如下:
純試驗表明〜230ms,以完成循環 而相同的裝置(G5)上的相同的代碼把〜600毫秒
我歡迎任何線索,爲什麼對AndroidJUnitRunner同一代碼的執行需要較少的三倍的時間比在實際設備上,而兩者最終都在同一臺設備
也許AndroidJUnitRunner比在你的應用程序 – MatPag
這引出了一個問題的代碼更優先,有沒有在應用程序代碼是我認爲它在主線程上執行任何的可能性來設定具體的代碼更優先 –
無論如何,最高優先級 –