我下載以這種方式使用火力地堡存儲器中的圖像:的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...
}
當我刪除互聯網時,會出現問題,請嘗試下載圖像並銷燬活動。這個調用應該被銷燬,因爲這個活動被破壞了,但是它仍然被存儲。事實上,當我激活Internet時,儘管活動被破壞,onComplete方法仍被調用。這最後不是再次創建,我檢查所有與日誌。那麼我怎麼能打斷這個電話呢?爲什麼要調用這個方法?
你的方法被調用,因爲你保留一個強大的內存引用'Activity'對象在另一個線程,它把它像「完成監聽器」。它對於內存來說確實非常糟糕,因爲活動不會被垃圾收集。當它被銷燬時,你應該從聽衆中移除活動。 –