麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發設計 > 正文

談談J2ME解決手機Game的內存問題

2019-11-18 16:16:56
字體:
來源:轉載
供稿:網友

  你可能想,為什么要談內存,我們可愛的java不是有gc機制嗎?可惜我們現在不是在pc上,而是只有64k內存的手機。如果不多加小心謹慎的話,我們的gc很可能每十秒鐘運行一次呢。你會不會毫不猶豫地寫下這樣的代碼:

1. g.drawString(“score=”+score,50,50,Graphics.TOPGraphics。LEFT)?  或是2.for (Enumeration e = v.elements() ;e.hasMoreElements() ;){System.out.PRintln(e.nextElement());  }
  

有什么問題?其實它做了下面的事:

String scoreStr=“score=”+score;g.drawString(scoreStr,50,50,Graphics.TOPGraphics.LEFT);


明白了嗎?在你的J2ME游戲里,這行程序很可能在paint()里面出現并且每0.1秒運行一次吧。伴隨著時間的推移,成堆的String被創建出來,要不了多久,我們可愛的gc媽媽就要出來嘍。想到了就簡單了,根據我們midlet的實際情況,讓我們靈活地建立解決de方法。

差不多也發生了同樣的事情,注意到interface Enumeration只有兩個method:

boolean hasMoreElement();Object nextElement();


發現了什么?Enumeration不像STL的iterator,沒法讓一個原有的Enumeration從頭開始,每遍歷一次我們的Vector或Hashtable,我們就得問我們的容器要一個新的Enumeration。

常見的情況是:

碰撞檢測。我們不得不在每一個frame里對容器做遍歷,其結果就是生出以集裝箱為單位的大把Enumeration,使用Enumeration很酷,不過為了內存,我們還是老土一點:

for (int loop ; loop  System.out.println(vector.elementAt(loop));}


最后,只要善用wtk的Monitor,就能及時地發現我們MIDlet中的內存殺手,將lag消餌于無形之中。

(出處:http://www.companysz.com)



發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 中文字幕www| 久久国产不卡 | 国产1区2区3区在线观看 | 中文字幕22页 | 91成人免费视频 | 美女网站黄在线观看 | 男男羞羞视频网站国产 | 97中文字幕第一一一页 | 美女污污视频在线观看 | xx53xx | 一级免费视频 | 98色视频 | 国内精品久久久久久久久久 | 成人福利视频导航 | 嗯~啊~弄嗯~啊h高潮视频 | 久久视讯 | 337p粉嫩大胆噜噜噜亚瑟影院 | 日韩精品中文字幕一区二区三区 | 大西瓜永久免费av在线 | 91精品国产综合久久男男 | 久久久久久久久久久久网站 | 操嫩草| 国产精品18久久久久久久 | 91福利免费观看 | 久久第四色 | 少妇的肉体2无删减版 | 粉嫩av一区二区三区四区在线观看 | 久久精品女人天堂av | 久久人人做 | 欧美成人精品欧美一级乱黄 | 国产免费看| 在线观看福利网站 | 久久中文免费 | 欧美精品在线视频观看 | 18pao国产成人免费视频 | 毛片在线免费视频 | 国产日产精品一区四区介绍 | 久久精品观看 | 免费a级片在线观看 | 国产精品wwww| 高清国产午夜精品久久久久久 |