0

アプリにすばらしい LeakCanary ライブラリを追加したところ、すぐに、さまざまなアクティビティで使用するFirebaseAuthオブジェクトによって生成されたリークに関するさまざまなレポートを受け取り始めました。

私の質問は次のとおりです。これは Firebase ライブラリ自体によって生成されたリークですか、それとも onDestroy でオブジェクトを破棄する必要がありますか (たとえば、null に設定します)。

これが LeakCanary からのレポートで、これが heapdumpです

4

1 に答える 1

3

答えは、リーク レポートの次の行に隠されています。

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

Activityが破棄される前に、追加したリスナーを必ず削除する必要があります。リスナーの追加と削除のバランスを取ります。たとえば、 で追加した場合は でonCreate削除しonDestroyます。で追加した場合は、でonStart削除onStopします。

于 2015-06-08T16:47:56.877 に答える