[問題] 關於android 的效能

看板java作者時間15年前 (2010/10/06 22:02), 編輯推噓2(202)
留言4則, 3人參與, 最新討論串1/3 (看更多)
手機 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
另外, 可能改寫 result += 這寫法會改善一點
10/06 22:13, 2F

10/06 22:31, , 3F
中間有註解的地方還有其他運算嗎?
10/06 22:31, 3F

10/07 21:59, , 4F
用StringBuffer吧 字串運算很耗資源的
10/07 21:59, 4F
謝謝以上三位的回應 記憶體的確很吃緊。註解中間無其他運算。 已改用StringBuffer ※ 編輯: sdallan 來自: 140.127.110.241 (10/08 13:16)
文章代碼(AID): #1Ch85oDf (java)
文章代碼(AID): #1Ch85oDf (java)