问题描述
做了一个J2ME游戏在MOTOV8和NOKIA6210上运行没问题移植到N70上就会卡游戏比较大500K左右V8测试虚拟内存好像是1M左右N70好像是512K游戏中的逻辑判断以及绘制的东西也挺多的想问下这游戏在N70上卡的原因到底是我逻辑和绘制问题呢还是JAR包太大?
解决方案
解决方案二:
这个吗?我也不知道
解决方案三:
J2ME开发游戏的应该很少吧?用Java来开发的话,是出于平台考虑,而不是效率了
解决方案四:
是能不能运行问题
解决方案五:
不太清楚
解决方案六:
你描述的不是很清楚,但是卡的问题,可能有这几种情况,个人经验而言:1.程序运行中绝对不要出现new实例对象的代码,实例一个类的时间相当于CPU运行百万次的加法运算。解决办法:所有实例对象都要在加载时完成,构造时完成所有用到的实例对象2.尽量少使用Sprite类,这个类中的使用的绘图的方法,速度比普通的g.drawImage()方法慢50%。这个我做过大量实验得出的结论3.尽量的节省内存,内存中的图片,同一张的话最多只能放一次即可,其他用到的都是用同一张就可以了。可以借助工具查看当前内存中存在的图片,排除图片重复现象。4.声明变量时,对于不可能大于127的整数,都是用byte,再大点儿的可以使用short,就是说能小的尽量小5.内存清理要使用system.gc();但是这个方法很耗时间,所以尽量减少使用此方法的次数谢谢
解决方案七:
首先可以确定的是,楼主的程序可以N70上跑起来,只是帧数太低。可以从如下几个方面考虑:1.内存使用。楼主可以查看一下手机的totalmemory以及freememory,明确总体内存使用情况。如果内存使用太多,就要分段调试,确定到底是什么地方使用了过多内存。对于不用的图片或数据结构,应该及时释放。2.5楼说的很对。普通的逻辑运算并不会太耗时,耗时运算的除了5楼所说的,还有诸如是否大量使用了图片翻转绘制,除法等,如果要用图片翻转,可以先把图片翻转后缓存起来再绘制,因为翻转绘制的时间是普通绘制的三倍(在三星s8kjet上测过),除法可用位移运算代替。当然这些都只是个人经验,建议楼主详细分析在一帧中,各个部分的准确运行时间,先从运行时间长的部分开刀。3.一般手机的gc好像都是用到内存满了再清除的,这样内存的释放未必及时。个人经验,每隔若干帧调用gc一次,以前在三星s8kjet上的经验值是200帧。楼主可以试试。
解决方案八:
为了这个,我都要崩溃了,没法子
解决方案九:
为了这个,我都要崩溃了,没法子