0
我在我的应用程序中添加了真棒LeakCanary库,并且很快我开始接收各种活动报告,其中包括FirebaseAuth对象。FirebaseAuth内存泄漏活动
现在我的问题是:它是由Firebase库本身生成的泄漏还是我应该销毁onDestroy中的对象(例如将其设置为null)?
这里是report from LeakCanary这里是heapdump
我在我的应用程序中添加了真棒LeakCanary库,并且很快我开始接收各种活动报告,其中包括FirebaseAuth对象。FirebaseAuth内存泄漏活动
现在我的问题是:它是由Firebase库本身生成的泄漏还是我应该销毁onDestroy中的对象(例如将其设置为null)?
这里是report from LeakCanary这里是heapdump
答案就藏在这条线的泄漏报告:
* references com.ispimi.ispimi.DetailsFragment$4.this$0 (anonymous class implements com.firebase.client.ValueEventListener)
你需要确保你的Activity
之前删除您添加任何监听器被销毁。平衡添加一个监听器并删除它。例如,如果您将其添加到onCreate
中,请在onDestroy
中将其删除。如果您将其添加到onStart
中,请在onStop
等中将其删除。
有趣的故事是我已经在做它。但是,只有在我实例化的2中有1个。感谢您的答复 –