【发布时间】:2016-07-04 05:05:50
【问题描述】:
我想清楚地了解创建新对象如何影响我的 RAM 使用。
我当前的游戏开始使用 52036424 字节的堆,但是,在创建新对象(敌人、子弹等)大约 1 分钟后,堆是 67036424 字节。
这是否意味着我有内存泄漏?或者这就是 Java 的工作方式?创建新对象会不断增加所需的堆? (我确实删除了不再使用的对象)。
【问题讨论】:
-
你不能在 Java 中“删除”对象;无论如何,成为未引用的对象会定期被垃圾收集。这通常发生在其他对象需要内存时,Android 在调度这个方面做得很好
-
结论:堆大小可以增长以使您的应用程序“感觉舒适”(即快速创建新对象而无需经常运行 GC)——这本身并不是内存泄漏的症状。内存泄漏会突然
OutOfMemoryError -
谢谢,这帮助我理解了。