作者sdallan ()
看板java
标题[问题] 关於android 的效能
时间Wed Oct 6 22:02:23 2010
手机 HTC Desire
版本 2.1
最近在手机上实作的功能已经完成了,近期在减少执行时间的调整。
光是下面这段程式,在手机上跑完就要20几秒
for ( int y = 0 ; y < 50 ; y++ ){
for ( int x = 0 ; x < 50 ; x++ ){
for ( int c = 0 ; c < 3 ; c++ ){
int [] block = new int [64];
Arrays.fill( block , 255 );
//以上大概总共2秒
//若执行以下的话总共要20几秒
String result = "";
for ( int j = 0 ; j < block.length ; j++ ){
result += (block[j] & 252);
}
}
}
}
稍微计算一下圈数 50*50*3*64 ,这个计算次数基本上是减不了了。
请问有办法再减少这边的执行时间吗?
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 59.127.72.91
1F:→ ericinttu:不知道记忆体吃不吃紧? 会不会直接影响到运算时间? 10/06 22:10
2F:推 ericinttu:另外, 可能改写 result += 这写法会改善一点 10/06 22:13
3F:→ kanandg1:中间有注解的地方还有其他运算吗? 10/06 22:31
4F:推 chchwy:用StringBuffer吧 字串运算很耗资源的 10/07 21:59
谢谢以上三位的回应 记忆体的确很吃紧。注解中间无其他运算。 已改用StringBuffer
※ 编辑: sdallan 来自: 140.127.110.241 (10/08 13:16)