J2ME开发机型Bug汇总.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
J2ME开发机型Bug汇总

3、 真机测试主要测什么? a) 程序的功能 b) 程序的操作性,是否易操作 c) 程序的大小,比如Nokia S40系列的手机大部分接受的最大文件尺寸为64K d) 程序运行速度,速度是否可以忍受。 以下就是各个机型Bug的汇总: 品牌 机型或系列 屏幕 Bug列表 Nokia S40 1. 按键会有延迟,中断后原线程还会在后台继续运行直到调用repaint,内存开销不当会死机 2. 在S40SDK和真机中,使用RecordStore.deleteRecord(id)以后,枚举工作不正常 S60 1. 表现为java应用中如果使用了Class.getResourceAsStream(本地文件) 无法释放其占用的内存,是的,没有任何办法,无论是调用获得的的InputStream实例的close()或将其设为null,甚至显式强制 System.gc(),都没有效果。结果就是至少和本地文件同尺寸的内存成为了无法回收的垃圾。这个问题还影响到以 Class.getResourceAsStream()为基础的Image.createImage() 这个bug可以上溯至2003年,甚至更早。这个bug据说在新的S60上已经解决了。但是Nokia3230(4.0526.2ch)、 Nokia7610(6.0525.0ch)都存在这个问题。对于这些个有问题的机型,在java程序中是无法完美解决这个问题的,只能尽量避免。比如集中、统一载入资源,永不释放(也就是说,尽量控制泄漏的次数)。当然,这会对已有代码造成很大影响。毕竟手机java应用是内存受限系统的典型,大多数情况下,珍贵的内存中只保留需要的资源。 2. NokiaS60模拟器异常退出,模拟器自动关闭,没提示任何错误,使用了Nokia UI API中的灯光或振动控制,而Nokia S60部分机型和对应的模拟器不支持这两个特性 3. 旋转后,并以clip的方式向缓冲上贴图,clip无效 4. 无法创建透明muttable Image 5.? 不能每帧调用 System.gc(),否则严重降低fps 6. 运行J2ME程序的时候出现“不能运行应用程序”的错误,一般都是内存不足引起的,但今天遇到这样的错误,却发现是另一个原因。即当使用nokia的UI API,DirectGraphics的drawImage时,如果旋转参数设置不当,也会出现“不能运行应用程序”的错误 7. Nokia S60 IO操作内存泄漏不可不察,其实这个问题是由S60的getResourceAsStream方法内存泄漏的bug引起的,由于每次切换地图时io操作都要读取大量数据,内存泄漏积累到一定程度就引起了“存储已满”,白屏,死机,进而会引起null pointer异常等。解决方法是尽量减少io操作的次数。如果内存够大就一次将资源读入 8. 不要在在主while循环中调用destroyApp,而改成检测一个标志,退出主循环后再调用destroyApp 9. 不同机型对于translate 和 setClip的处理不一样。在Nokia N-Gage QD等机型中,setClip是相对于translate以后的坐标计算的,而在Nokia 6600,6670等机型中,setClip不受translate的影响,永远只相对于屏幕左上角(0,0)点计算。所以如果在Nokia6670中,使用先translate再setClip的方法画子图,则会出现错误。为了统一代码,在NokiaS60中不要使用translate,即使使用,两次 translate之间不要进行setClip 10. DirectGraphics.fillTriangle调用有点问题,有时会出现跳出程序的情况,去除后没有问题。不知是机型的特例还有整个机型的BUG 11. java获取网络数据的永不ready的代码:while(InputStream.ready()) { InputStream.read() } 12. 同时播放声音在S60模拟器上可以运行,但是真机不支持 13. 在S60 1.0设备中,如果MIDlet在后台运行时,MIDI声音不停止 14. 在S60 1.0设备中,当正在运行的MIDlet被系统Screen隐含调用的类选择显示屏幕时有问题 15. 在S60 1.0设备中,Item.getLable()方法在ChoiceGroup中无法返回正确的label 16. 在S60 1.0设备中,Date对象无法返回当前时间 S60 MIDP1.0 176x208 1. 3650机型:setClip和drawRegion搭配不能正确设置裁减框 2. 3650机型:频繁I/O操作会死机,应尽量在游戏初始化时将数据一次读入 3. N-Gage机型:在背景

文档评论(0)

xy88118 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档