5

创建游戏时,您想从屏幕上删除 ArrayList 中的某些内容,比如说子弹,是否可以arrayList.remove(index)将其从游戏中删除?或者以这种方式完成时它是否仍在使用内存?

如果这不是首选的方法,请指出我正确的方向:)

4

2 回答 2

4

答案是可能的。从 中删除项目符号ArrayList将消除对它的引用。如果没有其他引用,则子弹对象最终将被 GC。

当然,屏幕必须在没有子弹的情况下重新绘制自己,这主要是一个单独的问题。

于 2013-07-29T23:14:16.687 回答
3

如果您从 ArrayList中删除一个对象,并且对象没有任何其他引用,那么它将是垃圾收集器的“合格”

之后,您不必担心将其从堆中删除:JVM 将通过自动垃圾收集器来完成此操作。

对于您提出的问题

或者以这种方式完成时它是否仍在使用内存?

答案是; 的,它仍然会占用内存,除非 JVM 调用垃圾收集并释放内存。

希望有帮助。

于 2013-07-30T02:02:37.153 回答