2009-10-10 66 views
1

我想知道有多少數據存儲可用於我的應用程序在Android?Android和數據存儲空間?

我需要緩存大量的文件,我想將其保存在裏面sharedpreferences,這樣,如果應用程序卸載它被刪除。畢竟它只是很多緩存文件。我想我也可以使用SDCard,但是我沒有任何控制用戶在應用程序外執行的操作...

因此,在存儲文件時,我的應用程序能從SharedPreferences中使用多少MB?

回答

3

如果您打算存儲數據的宏塊,然後嘗試使用SD卡,以避免填滿內置到手機尤其是在G1往往很有限的存儲空間。

如果你在手機上存儲數據,每個應用程序具有應用程序時,卸載也將被刪除自己的存儲區。

http://d.android.com/reference/android/content/Context.html#getDir(java.lang.String, int)

對於您可以使用 文件cacheDir = getCacheDir緩存文件(); 它將路徑返回到文件系統上特定於應用程序的緩存目錄。這些文件將在設備存儲空間不足時被首先刪除。

http://d.android.com/reference/android/content/Context.html#getCacheDir()以獲取更多信息

+0

我結束了我的存儲在SD卡下載的JPG ...但我可能會考慮在我的下一個版本的..謝謝使用getCacheDir() – 2009-10-13 15:17:02

2

什麼是要實現緩存的目的是什麼?

如果您想避免多次從Internet上下載文件,根據您正在使用的文件類型,SDCard或SQLiteDatabase應該是不錯的選擇。 如果你想保持這些文件時在存儲器中(例如,你想保持在堆一些解碼的位圖),這將是最好的實現自己的Cache類。

SharedPreferences只能用於某些基本類型(boolean, int, String, long, float) - 所以Parcelable不能放在您的應用程序的首選項中。

這會帶來問題,將文件保存在那裏。