快速业务通道

J2ME游戏开发笔记整编版 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-21
的资料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.修改后的画子图函数为:

public static void drawSubImg(Graphics g,Image img,int x,int y,int sx,int sy,int swidth,int sheight) {   g.setClip(x,y,swidth,sheight);   g.drawImage(img,x-sx,y-sy,GLT) ;   g.setClip(0,0,width,height) ; }

(3) 部分Nokia机型(6600,6670等)退出后报错null pointer exception的解决方法

不要在在主while循环中调用destroyApp,而改成检测一个标志,退出主循环后再调用

destroyApp boolean exit ; ... while(!exit){ ...   if(...){    exit = true ;   } ... } destroyApp(true);

注:可在destroyApp内部调用notifyDestroyed

J2ME游戏开发笔记整编版(5)

时间:2011-01-13

5 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 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号