Activity 中的 FirebaseAuth 内存泄漏
FirebaseAuth Memory Leak in Activity
我在我的应用程序中添加了很棒的 LeakCanary 库,很快我就开始收到关于我在各种活动中使用的 FirebaseAuth 对象生成的泄漏的各种报告。
现在我的问题是:这是 Firebase 库本身产生的泄漏,还是我应该在 onDestroy 中销毁对象(例如将其设置为 null)?
这是report from LeakCanary and here is the heapdump
答案隐藏在泄密报告的这一行中:
* references com.ispimi.ispimi.DetailsFragment.this[=10=] (anonymous class implements com.firebase.client.ValueEventListener)
您需要确保在销毁 Activity
之前删除您添加的所有侦听器。平衡添加监听器和移除监听器。例如,如果您在 onCreate
中添加它,则在 onDestroy
中删除它。如果您在 onStart
中添加它,请在 onStop
中删除它,依此类推。
我在我的应用程序中添加了很棒的 LeakCanary 库,很快我就开始收到关于我在各种活动中使用的 FirebaseAuth 对象生成的泄漏的各种报告。
现在我的问题是:这是 Firebase 库本身产生的泄漏,还是我应该在 onDestroy 中销毁对象(例如将其设置为 null)?
这是report from LeakCanary and here is the heapdump
答案隐藏在泄密报告的这一行中:
* references com.ispimi.ispimi.DetailsFragment.this[=10=] (anonymous class implements com.firebase.client.ValueEventListener)
您需要确保在销毁 Activity
之前删除您添加的所有侦听器。平衡添加监听器和移除监听器。例如,如果您在 onCreate
中添加它,则在 onDestroy
中删除它。如果您在 onStart
中添加它,请在 onStop
中删除它,依此类推。