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

use*_*776 10 java performance android android-fragments

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

pri*_*aul 10

只是加载,

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


Bla*_*rai 7

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