垃圾收集器并在onDestroy中清空引用

时间:2015-04-04 22:16:10

标签: java android garbage-collection dalvik

在onDestroy / onStop中将引用(例如位图)归零是否会使GC的清理速度有所不同?

1 个答案:

答案 0 :(得分:1)

总之。否。

如果在已经无法访问的对象中清空字段,GC将不会更快。

例如,假设您有一个包含大量内部引用的大型数据结构,并且只有一个引用保存在数据结构之外。当外部引用消失时,整个数据结构变得无法访问。取消内部引用将无效。

归零的唯一可能好处是:

  • 在某些情况下 - 将字段置零可以使相应的引用对象更快到达。使用上面的例子,如果有多个外部引用,可能会发生这种情况,其中一些是"隐藏"在长期存在的数据结构中。

  • 如果可到达的对象较少,GC通常会运行得更快。因此,使对象更快无法访问的步骤将减少GC开销。


  

将引用归零(例如对位图)...   Android位图是/包含需要小心处理的非堆资源。本Q& A解释说:

请注意,解决方案不仅仅是“#34; null"位图参考。这通常没有效果。