Java 为onDestroy()上片段的变量设置为null

Java 为onDestroy()上片段的变量设置为null,java,android,performance,android-fragments,Java,Android,Performance,Android Fragments,我是否应该在onDestroy(或OnDetch)方法中将fragment的所有变量明确设置为null以避免内存泄漏?或者这是不必要的,当碎片被“销毁”时,它们将被GCD。最佳实践是什么?提前谢谢 你不必为此担心。总司令会处理的。在Java中,您几乎必须尝试内存泄漏(是的,这是可能的,但非常罕见)。所以,别担心。如果您确实将变量设置为null,那么最终只会在不需要的代码上浪费时间,并且会增加维护工作量。Java中的GC在销毁未被引用的变量和对象方面做得很好 只需附加功能 如果代码中运行了任何服务

我是否应该在onDestroy(或OnDetch)方法中将fragment的所有变量明确设置为null以避免内存泄漏?或者这是不必要的,当碎片被“销毁”时,它们将被GCD。最佳实践是什么?提前谢谢

你不必为此担心。总司令会处理的。在Java中,您几乎必须尝试内存泄漏(是的,这是可能的,但非常罕见)。所以,别担心。如果您确实将变量设置为
null
,那么最终只会在不需要的代码上浪费时间,并且会增加维护工作量。Java中的GC在销毁未被引用的变量和对象方面做得很好

只需附加功能

  • 如果代码中运行了任何服务,请停止它
  • 如果您已向任何广播或任何其他听众注册,请取消注册
  • 如果有任何光标处于打开状态,请将其关闭
  • 如果您有任何位图,请回收它们
    我设法在一个Android应用程序中发生了内存泄漏(由于OutOfMemoryError,它在一段时间后崩溃了),我不得不循环遍历一些对象,并将一些引用设置为null,以使垃圾收集器的工作更轻松。但一个很好的经验法则是:“不坏的就不要修”。是的,我知道以前也发生过这种情况,这是可能的,但这种情况非常罕见。不过我同意,不要修复未损坏的:)只是一个提示:对于检测泄漏,这个库是非常有用的好补充,谢谢!