【发布时间】:2014-04-28 14:53:35
【问题描述】:
我知道使用WeakReference,如果我对某个东西创建WeakReference,除非直接引用它,否则它将在下一个 GC 循环中被垃圾收集。我的问题变成了,如果我将ArrayList 设为WeakReferences 会怎样?
例如:
ArrayList<WeakReference<String>> exArrayList;
exArrayList = new ArrayList<WeakReference<String>>();
exArrayList.add(new WeakReference<String>("Hello"));
我现在可以使用exArrayList.get(0).get() 访问数据。
我的问题变成:这是WeakReference 数据,位于exArrayList.get(0) 的数据会在下一个GC 循环中被GC 吗? (即使我没有直接引用它)或者这个特定的引用会一直存在直到arraylist 被清空? (例如:exArrayList.clear();)。
如果这是重复的,我在 google 中没有用我的关键字找到它。
【问题讨论】:
标签: java android arraylist garbage-collection weak-references