2011-11-23 39 views
0

好吧,我已經注意到,即使我使用正確的緩存文件夾路徑,Android也不會在文件夾中註冊內容,因此用戶無法通過進入設置 - >程序 - >管理來刪除緩存內容 - >選擇程序 - >清除緩存。該文件夾在卸載時被正確刪除,但如果用戶主動嘗試清除緩存,則該文件夾不會被刪除。這不是一個主要問題,但它仍然是一個小問題,因爲用戶沒有正確理解應用程序在SD卡上使用多少空間。 開發人員可以做些什麼來更新這些值,或者我在其他地方做錯了什麼?如何使緩存文件夾內容可刪除?

+0

你使用'getDownloadCacheDirectory()'? – Macarse

+0

不是。我將文件保存在指定的android/data/packagename/cache文件夾中 – Warpzit

+0

因此,您是使用Context的getCacheDir()或硬編碼路徑嗎? – Macarse

回答

1

從文檔:

保存緩存文件

如果你想緩存一些數據,而不是存儲它堅持, 你應該使用getCacheDir()打開表示文件 內部目錄您的應用程序應該保存臨時緩存 文件。

當設備內存空間不足時,Android可能會刪除 這些緩存文件以恢復空間。但是,您不應該依賴系統爲您清理這些文件。您應該始終自己維護 緩存文件,並將其保留在消耗的空間 的合理限制內,例如1MB。當用戶卸載您的應用程序時, 這些文件被刪除。

我想你應該處理你自己的刪除。如果您想在用戶清除應用程序數據時刪除內容,請創建sharedPreference並在應用程序啓動時清除緩存並且未定義首選項。

+0

那麼我使用外部存儲,這可能是爲什麼它不被添加爲「緩存」。要重新規劃,外部存儲器緩存文件夾不會在程序管理器中被視爲緩存? – Warpzit

+0

@Warpzit:老實說,我不確定:( – Macarse

+0

我會離開問題打開,直到我得到一個確定的答案:) – Warpzit

相關問題