列表上的 运行 remove(int index) 方法是否用于删除对象实例调用垃圾回收?

Does running remove(int index) method on a list to remove object instance invoke garbage collection?

我正在 Android 上编写一个应用程序 - 其中一部分涉及屏幕上的一些敌人。这些都包含在一个 ArrayList 中。 我的代码确定 Enemy class 的实例是否在屏幕外。如果是这样,则它需要删除对象的实例以保留资源,因为这些资源可以以相当高的速率产生。我目前调用

remove(int index) 

从列表中删除元素的方法。这也会对元素进行垃圾收集吗?如果没有,我如何确保垃圾收集(或者不值得?)

If so, it then needs to delete the instance of the object to preserve resources as these can be spawned at a fairly high rate

更有可能的是,它需要维护这些对象的 object pool 个,如果 "these can be spawned at a fairly high rate" 为 "preserve resources"。

Will this also engage garbage collection on the elements?

没有。垃圾收集通常是异步执行的。一旦不再引用某个对象,它将符合 垃圾回收条件,但删除引用不会导致 垃圾回收。

If not, how can I ensure garbage collection

你不知道。