繁体   English   中英

弱,强引用和垃圾回收

[英]Weak, strong references and garbage collection

我有两种情况:

  1. 当一个对象(只有强引用)失去所有强引用时,就可以用于垃圾回收。
  2. 当对象只有弱引用时,它也可用于垃圾回收。

在什么情况下可以更快地收集物体? 还是没有区别?

我正在使用旧的android应用程序。 我的前任使用弱引用(作为实例变量)将视图存储在RecyclerView适配器的支架中。 我想知道他为什么这样做。 我有一个想法,可以弱引用强制GC收集对象。 我的意思是,在下一个垃圾回收中,当没有引用的对象可能不被引用时,将仅收集具有100%弱引用的对象。 这样可以吗?

为什么会这样呢?

关键是:垃圾收集器开始收集合格的对象……当它“思考”时,需要这样做。 换句话说:对象何时符合资格并不重要; 重要的是, GC开始收集 ,它们才有资格。

除此之外:在很多情况下您无法区分这两种情况。

含义:如果对X使用弱引用; 这仍然意味着可能存在其他“强”引用。 仅当那些引用消失时,该对象才有资格。

关键点是:仅收集合格的对象。 他们的历史使他们有资格没有任何关系。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM