指向新引用的ArrayList将调用GC

时间:2015-06-15 15:42:53

标签: java android arraylist garbage-collection

如果我有一个包含多个元素的ArrayList,我想清除所有元素:

  • 将其指向新参考?这会调用GC吗?在Android中调用GC并不是那么好。
  • 调用arraylist.clear()。清除自己是否要求GC释放内存?

如果arraylist真的很庞大呢?我认为当arraylist很大时,表现很差。那么最好指向一个新的参考,让GC做它的工作吗?

1 个答案:

答案 0 :(得分:2)

  

将它指向新参考?这会调用GC吗?在Android通话中   GC不太好。

不会。通常在没有足够的内存用于新对象分配时执行GC。

  

调用arraylist.clear()。清除自己是否要求GC释放   存储器?

再一次没有。清除列表将删除从列表到元素的引用,这就是全部。实际GC将在需要时执行。

  

如果arraylist真的很庞大呢?我认为清楚是坏的   当arraylist是巨大的时候表现。所以最好指向一个   新的参考,让GC做它的工作?

clear()的时间复杂度为O(n)。指向另一个数组列表的引用是O(1)。所以,是的,它更快,但我从未在现实世界的应用程序中看到它。