我正在为S40开发一个应用程序,专注于在诺基亚Ahsa 305中工作。在应用程序的某些页面中,我显示了一些填充了大量数据的表(21行,10列,如210标签数据)。当我显示该表使用内存时,上升很多,当我再次尝试显示表时,它会给我OutOfMemoryException。
是否有一些可以执行有效内存管理的指导原则?
在这里,您可以从我的记忆图中找到一些图像。
在显示表格之前:
当我出示表格时:
返回表格后
答案 0 :(得分:1)
内存不应该显着增加数据量。我怀疑这样的表应该占用超过200kb的内存,除非你在某些标签中使用图像,在这种情况下需要更多。 Codename中的一个组件一个不应该超过1kb,因为它里面没有很多字段,但是如果你在每个组件中都有很长的字符串(我怀疑它们对于200个组件表是不可见的)
你可能有内存泄漏,这解释了为什么没有收集ram,虽然很难从你的描述中说出来。
我们在LWUIT 1.5中遇到了一个问题,我们在Codename One修复了LWUIT 1.5,但据我所知,诺基亚家伙在Codename One资源中删除了EncodedImage的使用情况,这真的会增加图像的内存使用量。< / p>