https://blog.csdn.net/u012406177/article/details/70244920
1 list = null
list = null: 就是释放这个数组对象,当然里面所引用的对象也就释放了。
2 list.clear()
list.clear(): 是把list里面对象遍历赋值为null,意思就是释放list里面所有对象,但是list对象没释放内存哦。
clear()源码
public void clear() {
modCount++;
// Let gc do its work
for (int i = 0; i < size; i++)
elementData[i] = null;
size = 0;
}
3 总结
- 如果你这个list还需要使用,那么你可以使用list.clear()去释放掉list里面所有的数据,GC在回收的时候就有可能回收掉原list里面的这些数据了
- 如果你不需要list了,那么你就用list=null,GC就有可能把list以及里面关联的一些数据也都回收了。