手機 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
→
10/06 22:10, , 1F
10/06 22:10, 1F
推
10/06 22:13, , 2F
10/06 22:13, 2F
→
10/06 22:31, , 3F
10/06 22:31, 3F
推
10/07 21:59, , 4F
10/07 21:59, 4F
謝謝以上三位的回應 記憶體的確很吃緊。註解中間無其他運算。 已改用StringBuffer
※ 編輯: sdallan 來自: 140.127.110.241 (10/08 13:16)
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 1 之 3 篇):