Nokia 60的Image.createImage死机问题
来源:互联网 发布:美工职业规划 编辑:程序博客网 时间:2024/05/19 10:54
2004.11.17
唐良
Nokia 60的Symbian 6.0系统的手机,也就是Nokia 3650和Nokia 7650中在执行Image.createImage(byte[] data,int off,int len)的函数的时候,容易出现死机问题。这个问题已经在Nokia的官方开发论坛上得到确认。
我的测试主要是针对Image.createImage函数在创建gif图片的时候出现的问题。我曾经专门针对一段图片的内存块反复创建1000次,图片的大小为18x18左右,测试结果表明,创建到500次以后就容易出现错误。而如果是同样大小的png图片的字节流,创建到1000次,没有出现过错误。
同时,我还发现,如果是使用Image.createImage(String filename)的方式创建gif图片,出现错误的纪律会小一些,但是还是会出现一定几率的错误。
而在Nokia最新的Symbian 7.0系统的手机,比如Nokia 7610,Nokia 6600上,就没有出现过Image.createImage(byte[] data,int off,int len)创建gif图片的错误。那么,估计这是Symbian 6.0针对gif解码的一个bug.
针对J2me中的RecordStore中的内存中用Image.createImage(byte[],int,int)创建GIF图片,则没有出现过异常问题。
奇怪的是,不知道为什么,在我的1000次创建试验中Image.createImage(String filename)方式创建gif图片也出现了错误。这可能跟另外一个问题有关系。
解决之道:
1. 程序初始化的时候,基于Nokia 60的手机内存比较大,可以一次性把图片资源都创建到内存中去,那么以后就不用再创建了,可以大大降低出错的几率。(魔幻之旅2的做法)
2. 本地包中的图片资源不要使用打包的图片,直接使用Image.createImage(String filename)来创建图片。(仙剑的做法)
3. 使用PNG图片。这种办法还没有具体在项目中测试过,但是基于前面的1000次反复测试,应该是可取之道。
另外一点,在仙剑Nokia 3650版本的开发中,发现,如果反复读取一段资源,比如我在显示物品属性的时候,每次显示的时候再去本地包提取资源属性数据出来,那么在这种高频率的资源提取过程中,也发现了随机性的错误。估计也是Symbian 6.0的不稳定因素造成的。解决之道就是一次装载到内存中,然后每次显示的时候直接从内存中去取属性数据。
- Nokia 60的Image.createImage死机问题
- 有关J2ME中的Image.createImage()方法找不到图片的问题
- Image.createImage异常
- eclipse下Image.CreateImage(string filename)的使用
- 深入理解Image.createImage()
- 深入理解Image.createImage()
- 深入理解Image.createImage()
- 深入理解Image.createImage()
- 深入理解Image.createImage()
- 深入理解Image.createImage()
- 深入理解Image.createImage()
- 深入理解Image.createImage()
- 深入理解Image.createImage()
- 深入理解Image.createImage()
- 深入理解Image.createImage()
- j2me在Eclipse环境上加载图片问题(Image.createImage)!
- python-opencv中的cv.CreateImage函数的参数问题
- 修改Nokia 770的Root Image
- 11月份招聘信息
- JBuilderX和JBuilder 2005的字体光标问题
- 毫无办法的Download.Trojan,只有WinXPsp2。
- 不错的流式压缩算法
- vc使用script控件执行javascript函数,并得到javascript返回值
- Nokia 60的Image.createImage死机问题
- 测试工作流程图
- 兴奋而行
- 类库
- JDO之前世今生
- 应用程序域
- Google送给中国博客的礼物,中文版Blogger.com
- Red Hat下WEB服务器的配置
- 综合型教育网BBS网站安全浅议 以YTHT为例