我的目标是使用工具测试(AndroidJUnitRunner)为Android CPU密集型代码编写自动性能测试。使用Android仪器测试测量性能
我很惊讶地发现,测试结果是不可靠的,模拟CPU密集型代码,我想测试一下,我写了下面的循环
for(int i=0;i<1000000;i++){
Math.pow(2,i);
}
的代码进行了测试作为一种工具测试Android应用
内我得到的结果如下:
纯试验表明〜230ms,以完成循环 而相同的装置(G5)上的相同的代码把〜600毫秒
我欢迎任何线索,为什么对AndroidJUnitRunner同一代码的执行需要较少的三倍的时间比在实际设备上,而两者最终都在同一台设备
也许AndroidJUnitRunner比在你的应用程序 – MatPag
这引出了一个问题的代码更优先,有没有在应用程序代码是我认为它在主线程上执行任何的可能性来设定具体的代码更优先 –
无论如何,最高优先级 –