一.interpret-only模式改为speed模式的测试时间对比
修改 /system/build.prop 文件中的 dalvik.vm.dex2oat-filter=interpret-only 为 dalvik.vm.dex2oat-filter=speed , 写一个测试时间的应用程序 TestTime.apk , 对比修改前后TestTime.apk 的执行时间。
//TestTime.java 测试时间主要代码:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
TextView message = new TextView(this);
long start = System.currentTimeMillis(); //获取系统当前时间(ms)
for(long i = 0; i < 1000000000; i++);
message.setText("hello world,took" + (System.currentTimeMillis() - start) / 1000f + "seconds");
setContentView(message);
}
测试结果如下:
for循环的大小为300000000:
interpret-only : 50.655 s , 52.372 s , 51.311 s , 51.200 s , 51.724 s , 平均值:51.4524 s
speed : 50.943 s , 50.857 s , 51.031 s , 50.675 s , 50.745 s , 平均值:50.906 s
for循环的大小为1000000000:
interpret-only: 168.863 s , 168.286 s , 168.859 s , 168.347 s ,168.211 s , 168.623 s , 平均值:168.5315 s
speed: 167.771 s , 167.576 s , 168.103 s , 167.503 s , 167.932 s , 167.809 s , 平均值:167.7823 s
for循环的大小为5000000000:
interpret-only: 847.449 s , 849.570 s , 848.124 s , 847.262 s , 848.031 s ,平均值:848.0872 s
speed: 847.197 s , 848.158 s , 848.154 s , 847.279s , 847.418 s , 平均值:847.6412 s
从以上数据可以看出,由 interpret-only 模式改为 speed 模式后,速度略有提升。