我有两种情况:
在什么情况下会更快地收集对象?或者没有区别?
我正在处理旧的Android应用程序。我的前任使用弱引用(作为实例变量)将视图存储在RecyclerView适配器的持有者中。我想知道他为什么那样做。我有一个想法,可以弱引用强制GC来收集对象。我的意思是在下一个垃圾收集中,当没有引用的对象可能没有时,将收集仅具有100%弱引用的对象。可以这样吗?
答案 0 :(得分:2)
为什么会这么重要?
重点是:垃圾收集器开始收集符合条件的对象......当它"认为"它需要这样做。换句话说:当您的对象符合条件时,并不重要;重要的是,当 GC开始收集时,它们符合的条件。
除此之外:在许多情况下,你无法区分这两种情况。
含义:如果你对X使用弱引用;这仍然意味着其他强大的"引用可能存在。只有当强引用消失时,该对象才有资格。
关键点是:只会收集符合条件的对象。他们历史导致他们符合条件并不重要。