ArrayList.remove(index),垃圾收集是否可行?

时间:2013-07-29 22:58:07

标签: java garbage-collection

在创建游戏并且想要从ArrayList中的屏幕删除某些东西时,让我们说一个子弹,使用arrayList.remove(index)从游戏中删除它是否可行?或者这样做是否还在耗尽内存?

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

2 个答案:

答案 0 :(得分:4)

答案是可能的。从ArrayList删除子弹将消除对它的引用。如果没有其他引用,那么子弹对象最终将被GC。

当然,屏幕必须在没有子弹的情况下重绘,这是一个大致独立的问题。

答案 1 :(得分:3)

  

如果从ArrayList删除对象对象   没有任何其他参考,那么它将'符合条件'   对于垃圾收集器。

之后,您不必担心将其从堆中删除:JVM会通过自动垃圾收集器来实现。

  

对于您提出的问题;

     

或者这样做时是否还在耗尽内存?

     

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

希望有所帮助。