我在我的应用程序中添加了令人敬畏的LeakCanary库,很快我就开始收到各种报告,说明我在各种活动中使用的 FirebaseAuth 对象产生的泄漏。
现在我的问题是:它是Firebase库本身产生的泄漏还是我应该在onDestroy中销毁该对象(例如将其设置为null)?
答案 0 :(得分:3)
答案隐藏在泄漏报告的这一行中:
* references com.ispimi.ispimi.DetailsFragment$4.this$0 (anonymous class implements com.firebase.client.ValueEventListener)
您需要确保在销毁Activity
之前删除您添加的所有侦听器。平衡添加侦听器并将其删除。例如,如果您在onCreate
中添加了onDestroy
,请将其删除onStart
。如果您在onStop
中添加,请将其删除{{1}},依此类推。