January 16, 2004

开发J2ME程序遇到垃圾收集方面的问题!

Categories:  ItTech

今天做了一天的J2ME程序,发现J2ME的程序在手机上耗用内存很厉害,使用了Nokia Series 60开发包中的几个FullCanvas实例和几个Image实例后,就耗用了接近1M的内存,手机内存不够用!

为了减少内存耗用,只好把原来的多个FullCanvas实例变成一个实例,让不同的界面代码公用一个FullCanvas,减少了部分内存消耗。

不过有一个问题很奇怪:Image.createImage(String name)创建出来的Image实例使用后,即使赋值null,垃圾收集器也不对它进行回收(Nokia 3650上是这样,在模拟器上似乎没有问题)。我怎么改也无法让Nokia 3650对createImage创建出来的Image实例进行回收,只好做了一个图片资源管理对象,用该对象保存已经创建过的实例,在下次调用的时候直接使用,而不再创建。这个方法虽然解决了部分问题,但是内存不能回收在程序中留下了隐患。如果有哪位朋友知道解决方法,请一起交流交流。这里先谢过啦!

Posted by dumm at January 16, 2004 06:00 PM
Comments

老大,你这个问题最后怎么解决了,我跟你处于一样的困境,image没办法回收。

Posted by: hzqi at December 2, 2004 03:57 PM
Post a comment









Remember personal info?




  
Please enter the code as seen in the image above to post your comment.