での活動の破壊の後に呼び出され、私はこの方法でFirebaseストレージを使用して画像をダウンロードしています:onCompleteのがFirebaseStorage
StorageReference storageReference = FirebaseStorage.getInstance().getReference();
storageReference.child("images/").child("myimage.jpg").getBytes(Long.MAX_VALUE).addOnCompleteListener(this);
そして私は、ときにダウンロードが完了知るために、リスナーを追加しました:
@Override
public void onComplete(@NonNull Task<byte[]> task)
{
//stuff...
}
この問題は、インターネットを削除してイメージをダウンロードし、アクティビティを破棄しようとしたときに発生します。アクティビティは破棄されますが、コールは保存されたままです。実際にインターネットをアクティブにすると、アクティビティが破棄されてもonCompleteメソッドが呼び出されます。この最後のはもう一度作成されたではありません。すべてログで確認しました。それでは、どうやってコールを確実に中断できますか?なぜメソッドが呼び出されますか?
です"実際にはメモリにもかなり悪いです。なぜなら、アクティビティはガベージコレクションされないからです。リスナーが破棄されたときに、アクティビティーを除去する必要があります。 –