国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

談?wù)凧2ME解決手機(jī)Game的內(nèi)存問題

2019-11-18 16:16:56
字體:
供稿:網(wǎng)友

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

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

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

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


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

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

boolean hasMoreElement();Object nextElement();


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

常見的情況是:

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

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


最后,只要善用wtk的Monitor,就能及時(shí)地發(fā)現(xiàn)我們MIDlet中的內(nèi)存殺手,將lag消餌于無形之中。

(出處:http://m.survivalescaperooms.com)



發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 固镇县| 莆田市| 开封县| 临湘市| 岗巴县| 石渠县| 小金县| 即墨市| 金川县| 澎湖县| 镇康县| 山阳县| 原阳县| 泽州县| 凤冈县| 宁乡县| 西平县| 准格尔旗| 新疆| 敦化市| 宾川县| 临澧县| 南丹县| 远安县| 南宫市| 宿州市| 漳浦县| 武夷山市| 绥德县| 大埔县| 余庆县| 高陵县| 桐柏县| 兴隆县| 云龙县| 娄烦县| 丹东市| 当雄县| 当阳市| 南溪县| 时尚|