我正在下載圖像,然後將它們保存到內部存儲器。這導致應用的緩存增長非常快。使用內部存儲 - Android - 刪除緩存文件
正如本文建議:
http://developer.android.com/guide/topics/data/data-storage.html
當設備處於低內部存儲空間,Android的可以刪除這些緩存文件來恢復空間。但是,您不應該依賴系統爲您清理這些文件。你應該總是自己維護緩存文件,並保持在合理限制的空間消耗,如1MB
我的問題是如果緩存變得太大會發生什麼,例如現在是20mb左右,並且仍在增長。
我認爲我應該遵循指導原則,並在互聯網連接可用時每次啓動應用時刪除它們。
String[] allFiles = fileList();
Log.e(TAG, "allFiles.length: " + allFiles.length);
for(int k=0; k<allFiles.length; k++)
{
Log.e(TAG, "allFiles [ " +k+"]: "+allFiles[k]);
}
但是,這段代碼總是返回零個文件。如果我嘗試訪問特定圖像,我可以輕鬆地從內部存儲器中檢索它。爲什麼這段代碼不能返回一個包含我所有圖像的數組?
什麼是遵循內部存儲器中的正確的方法..
由於提前,
安德烈亞斯
您的整個文件名檢索邏輯位於'fileList()'裏面,您沒有包含它。如果您不發佈該代碼,我們無法知道爲什麼這不起作用。 – kabuko
我可以單獨訪問每個圖像(文件名),沒有問題!問題是當我想要獲得上面鏈接建議的內存中所有文件的列表。上面的方法總是返回零! – andreasv
啊,我的錯。我不知道'fileList()'在Context上。無論如何,我不會爲此煩惱。如果你從'getCacheDir'存儲在文件夾中,那麼只需使用'getCacheDir()。listFiles()'。 – kabuko