2010-11-02 106 views
4

我正在開發一個小型Android數據庫應用程序。與數據庫中的記錄相關聯的是多個圖像(圖像分辨率可能與設備上的屏幕相同),每個記錄最多可以有20個圖像。哪裏會是最好的地方來存儲圖像。我正在考慮在數據庫本身或SD卡上。我對Android非常陌生,至今還不確定自己在做什麼。在android上存儲圖像

回答

4

雖然可以將圖像本身放入數據庫(作爲一個blob),據我所知,這不是最佳做法。

你談論的圖像有多大?你說過屏幕的分辨率,但是對於壓縮,它們可能足夠小。

如果它們相當小,請考慮使用手機的內部緩存(使用getCacheDir()從上下文中找到)。這也有額外的好處,允許用戶從應用程序菜單中刪除緩存,並且您的圖像將對您的應用程序是私人的。 Android文檔建議內部緩存約爲1MB。

如果它們太大而無法存儲在內部緩存中,則SD卡可能是您唯一的選擇。缺點是這些圖像對其他應用程序可見,它們可以被刪除,刪除,重命名等等。當你離開它們時,你不能保證它們會是它們的樣子。

3

在我的應用程序中,我被迫將圖像存儲在SQLite中作爲斑點。 SQLite中的Blob大小在理論上受2個演出限制 - 但是手動的recommends to use only few megs大小的斑點。所以我正在分塊存儲的圖像。從性能角度來看 - 一切正常

無論如何,我非常確定在DB中存儲圖像比其他奇特方式更具吸引力。例如。沒有人可以預測SD卡的容量,甚至可以預測它的存在。