【问题标题】:FirebaseAuth Memory Leak in Activity活动中的 FirebaseAuth 内存泄漏
【发布时间】:2015-06-02 04:28:00
【问题描述】:

我在我的应用程序中添加了很棒的 LeakCanary 库,很快我就开始收到各种关于我在各种活动中使用的 FirebaseAuth 对象生成的泄漏的报告。

现在我的问题是:它是由 Firebase 库本身产生的泄漏还是我应该在 onDestroy 中销毁对象(例如将其设置为 null)?

这里是report from LeakCanary,这里是heapdump

【问题讨论】:

    标签: android memory-leaks firebase firebase-authentication leakcanary


    【解决方案1】:

    答案隐藏在泄漏报告的这一行中:

    * references com.ispimi.ispimi.DetailsFragment$4.this$0 (anonymous class implements com.firebase.client.ValueEventListener)
    

    您需要确保在 Activity 被销毁之前删除您添加的任何侦听器。平衡添加监听器和移除监听器。例如,如果您在onCreate 中添加了它,请在onDestroy 中删除它。如果你在onStart 中添加了它,在onStop 中删除它等等。

    【讨论】:

    • 有趣的是我已经在做这件事了。但仅适用于我正在实例化的 2 个中的 1 个。感谢您的回复
    猜你喜欢
    • 2012-05-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多