2013-06-12 60 views
0

我正在製作的應用程序拍攝視頻和圖片,並在GridView中顯示它們。我的希望是,用戶會經常使用我的應用程序,並採取大量的視頻和圖片。我試圖找出存儲位圖縮略圖時要採取什麼路線的問題。我目前使用SQlite數據庫存儲所有字節,然後查詢它們並創建一個要顯示的位圖。即使我在後臺線程中這樣做,這看起來效率很低,尤其是隨着數據庫的增長以及需要查詢的更多數據。用於縮略圖存儲的Sqlite數據庫和內存緩存

我覺得使用內存緩存將允許更快的檢索和更好的用戶界面。但是,我擔心,如果用戶創建了很多縮略圖,那麼我可能會遇到內存不足的風險。

我的主要問題是:

是存儲一堆縮略圖的甚至是一件值得關注的緩存是什麼時候?

在這種情況下使用SQlite數據庫有什麼好處嗎?

感謝

+0

通過[這篇文章](http://stackoverflow.com/questions/541966/how-do-i-do-a-lazy-load-of-images-in-listview)。 James A Wilson用最簡單的方式向你展示瞭如何在短時間內存中緩存數據。在更好的方式檢查在Fedor答案的代碼。您將學習如何進行內存管理以避免內存不足異常。 – Ali

回答

0

你不應該存儲圖像作爲一個字節,你應該將圖像作爲文件存儲在緩存文件夾中,你DB你應該只對存儲圖像的路徑(或圖像的名稱如果你知道該文件夾)。你也應該緩存縮略圖,當他瀏覽縮略圖列表(調整圖像大小需要一些時間)時,它會提高速度。 P.S.你可以使用一些第三部分庫。