我正在尝试将已保存的游戏加载到我的应用中。问题是,我不断遇到以下问题:

 06-01 00:42:36.123: ERROR/dalvikvm-heap(10297): Heap Massage needed (5107596-byte
   external allocation too big)

 06-01 00:42:36.123: ERROR/dalvikvm-heap(10297): -->Full GC (don't collect
       SoftReferences)

 06-01 00:42:36.163: ERROR/dalvikvm-heap(10297): -->Heap Massage was successful...


我想我知道为什么。当前的游戏(我想删除并遗忘的游戏)仍在保留内存。我想“取消阻止”此内存,所以有什么办法可以执行“堆转储”(使用引号是因为我是菜鸟,可能使用了错误的技术用词)?

最佳答案

一旦消除了对当前游戏数据的所有引用(通过将所有相关变量,哈希条目等设置为null),就可以调用System.gc()(或Runtime.getRuntime().gc())来建议JVM垃圾收集的好时机。但是请注意,您不能以这种方式强制执行垃圾收集。

10-07 13:20
查看更多