在onDestroy()上取消片段的变量

时间:2013-09-19 20:01:35

标签: java android performance android-fragments

我应该在onDestroy(或onDetach)方法中明确地将片段的所有变量设置为null以避免内存泄漏吗?或者它没有必要,并且当片段被“破坏”时它们将被GCed。什么是最佳做法?提前谢谢!

2 个答案:

答案 0 :(得分:10)

只是加载项,

  1. 如果您的代码中有任何服务正在运行,请将其停止。
  2. 如果您已注册任何广播或任何其他听众,请取消注册
  3. 如果您打开任何光标,请关闭它们。
  4. 如果您有任何位图,请回收它们。

答案 1 :(得分:7)

您无需担心这一点。 GC将负责处理它。在Java中你几乎必须尝试内存泄漏(是的,它可能,但非常罕见)。所以,不要担心。如果你把变量设置为null,你最终会浪费时间在你不需要的代码上,并且会增加维护。 Java中的GC在破坏未引用的变量和对象方面做得很好。