Java me j2me应用程序在JBLEND中显示内存不足异常

Java me j2me应用程序在JBLEND中显示内存不足异常,java-me,Java Me,我的j2me应用程序在JBLEND中显示内存不足异常。它在JBED中运行良好。通过监视内存,我意识到document.parse(xmlParser)方法消耗了大量内存。我认为执行此选项的原因是解析xml后内存没有释放。对吗???如何解决这个问题?无论document.parse(xmlParser)返回什么,只要不再需要它,就应该取消对它的引用,也就是说,应该将指向返回对象的字段设置为null(或取消设置间接引用) 我从未使用过JBLEND或JBED,但也有一个很好的内存分析器,它可以帮助您跟

我的j2me应用程序在JBLEND中显示内存不足异常。它在JBED中运行良好。通过监视内存,我意识到document.parse(xmlParser)方法消耗了大量内存。我认为执行此选项的原因是解析xml后内存没有释放。对吗???如何解决这个问题?

无论
document.parse(xmlParser)
返回什么,只要不再需要它,就应该取消对它的引用,也就是说,应该将指向返回对象的字段设置为
null
(或取消设置间接引用)


我从未使用过JBLEND或JBED,但也有一个很好的内存分析器,它可以帮助您跟踪内存和对象引用问题。

我将文档定义为document=null;调用方法document.parse(xmlParser)后。但结果是一样的。。如何释放内存???@asifkt:这不是一种好的做法,实际上,当内存不足时,应该会自动释放内存,但您可以在设置
document=null
后通过调用
System.gc()
强制运行垃圾收集器。在这方面,还要读和。@Oben:我在消耗更多内存的方法之后调用了GC。但是异常发生的频率增加了。@asifkt:我会使用内存分析器更详细地分析内存消耗(请参阅答案中的WTK链接)。在这里,您将看到您的文档对象到底消耗了多少内存,以及是否有一些顽固的引用阻止GC释放它。最后,如果在JBED和WTK中一切正常,那么问题也可能是由有缺陷的JBLEND版本引起的。对于6mb大小的堆,我可以正常工作。正如我所说的,我正在使用JBLEND运行这个应用程序。我认为JBLEND中这个应用程序的堆大小小于6mb。如何将其设置为6MB???