用户: 密码: 答案:   我要注册   忘记密码

加入收藏  设为首页

开发文档

CNJM首页

业界新闻

手机软件

终端应用

资源下载

EclipseME

CNJM论坛

                 

频道列表

J2ME开发 176篇
服务器端开发 33篇
JAVA语言 71篇
游戏与图形 101篇
WindowsMobile开发 6篇
Symbian开发 61篇
Brew开发 36篇
其它开发平台 6篇

热点文章

四种JAD生成器之比... 53941次
手机JAVA入门讲座 32751次
手机游戏毕业设计论文 29569次
各厂商SDK和模拟器... 20319次
Java手机机型对应表 19245次
一个关于CMNET和CM... 18453次
2005年毕业论文---... 16713次
手机JAVA MIDP2.0讲座 16405次
JAVA手机性能参数大全 14540次
手机JAVA中级讲座 12652次
J2ME程序开发新手...  11377次
我的第一个Java手...  11185次

文章搜索

搜 索
按 照
频 道
  
谈谈J2ME解决手机Game的内存问题
编辑:rocks    审核:rocks    文章来源:网络采集
关键词:优化    发表日期:2006-10-23 12:32:33    浏览次数:5339次
本文版权归原作者,中国JAVA手机网收录本文的目的是让更多人阅读到此文章。转载请注明出处为中国JAVA手机网<www.cnjm.net>

[本文章最后由 rocks 在2006-10-23 12:32:48编辑过]

来自:http://www.cnjm.net/tech/article2924.html

你可能想,为什么要谈内存,我们可爱的Java不是有gc机制吗?可惜我们现在不是在pc上,而是只有64k内存的手机。如果不多加小心谨慎的话,我们的gc很可能每十秒钟运行一次呢。你会不会毫不犹豫地写下这样的代码:

代码:

1.
g.drawString(“score=”+score,50,50,Graphics.TOP|Graphics。LEFT);

  或是
2.
for (Enumeration e = v.elements() ; e.hasMoreElements() ;) {
 System.out.println(e.nextElement());
}


  

有什么问题?其实它做了下面的事:

代码:

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




明白了吗?在你的J2ME游戏里,这行程序很可能在paint()里面出现并且每0.1秒运行一次吧。伴随着时间的推移,成堆的String被创建出来,要不了多久,我们可爱的gc妈妈就要出来喽。想到了就简单了,根据我们midlet的实际情况,让我们灵活地建立解决de方法。

差不多也发生了同样的事情,注意到interface Enumeration只有两个method:
JAVA手机网[www.cnjm.net]


boolean hasMoreElement();
Object nextElement();




发现了什么?Enumeration不像STL的iterator,没法让一个原有的Enumeration从头开始,每遍历一次我们的Vector或Hashtable,我们就得问我们的容器要一个新的Enumeration。

常见的情况是:

JAVA手机网[www.cnjm.net]
碰撞检测。我们不得不在每一个frame里对容器做遍历,其结果就是生出以集装箱为单位的大把Enumeration,使用Enumeration很酷,不过为了内存,我们还是老土一点:

代码:

for (int loop, n = vector.size(); loop < n; loop++) {
 System.out.println(vector.elementAt(loop));
}


JAVA手机网[www.cnjm.net]


最后,只要善用wtk的Monitor,就能及时地发现我们MIDlet中的内存杀手,将lag消饵于无形之中。
来自:http://www.cnjm.net/tech/article2924.html

相关文章
    J2ME内存占用详解及优化方法  [2007-02-15]
    J2ME游戏开发的高级优化技巧  [2007-01-25]
    J2ME内存占用详解及优化方法  [2006-05-27]
    J2ME程序优化方法二十条  [2006-04-05]
    Java程序性能优化  [2006-03-24]
    Java性能优化技巧集锦(2)  [2006-03-03]
    Java性能优化技巧集锦  [2006-03-03]
最新评论
网站简介  |  关于版权  |  广告服务  |  网站地图  |  联系我们
Copyright © www.CNJM.net, All rights reserved
中国JAVA手机网 版权所有
ICP备案:京ICP备041452