如果我有一个包含多个元素的ArrayList,我想清除所有元素:
如果arraylist真的很庞大呢?我认为当arraylist很大时,表现很差。那么最好指向一个新的参考,让GC做它的工作吗?
答案 0 :(得分:2)
将它指向新参考?这会调用GC吗?在Android通话中 GC不太好。
不会。通常在没有足够的内存用于新对象分配时执行GC。
调用arraylist.clear()。清除自己是否要求GC释放 存储器?
再一次没有。清除列表将删除从列表到元素的引用,这就是全部。实际GC将在需要时执行。
如果arraylist真的很庞大呢?我认为清楚是坏的 当arraylist是巨大的时候表现。所以最好指向一个 新的参考,让GC做它的工作?
clear()
的时间复杂度为O(n)。指向另一个数组列表的引用是O(1)。所以,是的,它更快,但我从未在现实世界的应用程序中看到它。