我注意到,即使是在两个相似但不同的设备(即三星Galaxy S4和S7)上进行简单循环,执行时间也存在巨大差异。在S7上,以下测试需要约5毫秒,在S4上需要约250毫秒,相差50倍。我肯定S7比S4快,但是50倍???
我试过Android探查器(CPU、内存),但没有看到任何危险信号。S7应用程序的CPU利用率约为10%,S4应用程序的CPU利用率约为25%。
下面的代码是一个
极大地
//@ Test Timing
public static void timingTest()
{
int i,count=0;
long t1,t2;
String TAG="MYAPP";
t1 = System.currentTimeMillis();
for( i=0; i<4000000; i++ ) { // get start time
count++; // just bump count
}
t2 = System.currentTimeMillis(); // get stop time
String msg=String.format( "ELAPSED = %8.3f sec.", 0.001*(t2-t1) );
Log.i( TAG, msg ); // announce elapsed time
}
我认为这可能是优化方面的差异,但这并没有造成任何相对的影响
真实的
我已经克服这个问题一个星期了,没有任何新的见解。
有人知道这件事还是我运气不好?