大家好,我现在有个机器,dalvik内存是42M, 经过很长时间的测试,发现会有OOM(out of memory),把现场dump文件拿来分析了下,显示的是HashMapEntry持有大量的对象,耗了大概11M左右的内存,根据调用tree发现是由sqlite的openOrCreateDatabase中的hashset.add-->hashmap.put->HashMapEntry引起的。我不知道这种情况是什么原因,是数据库没关掉吗?用的都是getWritableDatabase去打开数据库的,按照道理来说,如果是没有关闭应该不会有这么多内存泄漏啊,因为这个函数是只打开一次数据库,不会多次打开的。我想问下除了没有关闭数据库可能会影响,还有其他原因吗。
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货