J2ME游戏开发笔记整编版 - 编程入门网
的资料Nokia 7650 游戏不能用中文名(其实NGageQD可以)
----------------机型相关问题----------------- 1 Nokia S60 IO操作内存泄漏不可不察 Nokia7650,3650 游戏运行过程中,有时会出现“存储已满”的对话框,出现的位置不固定 游戏运行过程中,有时出现“应用程序错误 NullPointerExcept”,“程序已关闭 MidpUi”的对话框 游戏运行过程中,有时会出现“程序已关闭 MidpUi ViewSrv 9”的对话框,出现的位置不固定 其实这个问题是由S60的getResourceAsStream方法内存泄漏的bug引起的,由于每次切换地图时 io操作都要读取大量数据,内存泄漏积累到一定程度就引起了“存储已满”,白屏,死机,进而会引起null pointer异常等。解决方法是尽量减少io操作的次数。如果内存够大就一次将资源读入。 2 NokiaS60模拟器异常退出 症状:模拟器自动关闭,没提示任何错误 原因:使用了Nokia UI API中的灯光或振动控制,而Nokia S60部分机型和对应的模拟器不支持这两个特性. 3 NokiaS60 UI API bug 1 旋转后,并以clip的方式向缓冲上贴图,clip无效 2 无法创建透明muttable Image 此两点,致命伤,带来许多不变 4 Nokia S60的几个问题 (1) 不能每帧调用 System.gc(),否则严重降低fps (2) Nokia S60机器的不同机型对于translate 和 setClip的处理不一样。在Nokia N-Gage QD等机型中,setClip是相对于translate以后的坐标计算的,而在Nokia 6600,6670等机型中,setClip不受translate的影响,永远只相对于屏幕左上角(0,0)点计算。所以如果在Nokia6670中,使用先translate再setClip的方法画子图,则会出现错误。为了统一代码,在Nokia S60中不要使用translate,即使用,两次translate之间不要进行setClip.修改后的画子图函数为:
(3) 部分Nokia机型(6600,6670等)退出后报错null pointer exception的解决方法 不要在在主while循环中调用destroyApp,而改成检测一个标志,退出主循环后再调用
注:可在destroyApp内部调用notifyDestroyed J2ME游戏开发笔记整编版(5)时间:2011-01-135 Nokia"不能运行应用程序"错误新解 Nokia手机运行J2ME程序的时候出现“不能运行应用程序”的错误,一般都是内存不足引起的,但今天遇到这样的错误,却发现是另一个原因。即当使用 nokia的UI API,DirectGraphics的drawImage时,如果旋转参数设置不当,也会出现“不能运行应用程序”的错误。 6 Nokia系统bug两则 (1) Nokia7650(V4.46)应用程序目录显示bug 应用程序安装后,打开应用程序目录,显示错误提示: "程序已关闭 MidpUi USER9",应用程序目录无法进入。 分析后发现,原来是新安装的应用程序没有在mainfest.mf中的 midlet-1属性中指定应用程序图标,导致程序目录无法显示图标。 在我所见到NokiaS40机器上和NGageQD上,如果图标没指定或指定了但 不存在,将显示默认的图标。 此bug对于其它版本的7650或者其他机型是否存在尚不得知。 解决方法:使用seleQ将7650c:\system\midp中刚安装的程序目录删掉,即可正常进入应用程序目录。 在应用中使用自己的应用程序图标,并正确设置,以避免让用户遭遇到此bug。 (2) Nokia3100(v3.10)游戏目录振动设置与应用程序中使用振 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |