2010-06-08 83 views
2

在我的應用程序中,我使用SoftReference來緩存圖像,它與活動的Internet連接正常工作。現在我需要緩存圖像,所以我可以在離線模式下使用它。在Android上緩存圖像的最佳做法是什麼?

實施它的最佳方法是什麼? 使用SoftReference和數據庫的複雜解決方案?或者SoftReference和本地存儲(SD卡)?

我會很感激你的建議。謝謝。

回答

2

2級緩存在內存和磁盤上。查看github上的https://github.com/mttkay/droid-fu項目。它包含一個以這種方式工作的ImageCache。

+0

我試圖WebImageView(從DROID-FU)庫,但我不能讓它工作,像沒有加載。我已經創建了從DroidFuApplication擴展的應用程序,並將其配置爲清單,即使我已經從BetterDefaultActivity擴展了主要活動。但我仍然只看到加載動畫。 你有工作的例子嗎?我的代碼onCreate()的主要活動如下: WebImageView img =(WebImageView)findViewById(R.id.webimage); img.setImageUrl(「http://static.technorati.com/09/12/13/2291/android.jpg」); img.loadImage(); 它有什麼問題? – barmaleikin 2010-06-09 05:36:15

+0

應該工作。 logcat中是否有例外情況?你的應用程序是否具有INTERNET權限? – 2010-06-09 11:58:25

+0

是的,internetn許可在這裏,我也增加了寫入本地存儲的權限。 – barmaleikin 2010-06-09 15:05:15

0

最後回答,但我希望它仍然值得一些東西。 ImageDownloader是這項工作的最佳選擇。我還發現了類的輕微變化在:

http://theandroidcoder.com/utilities/android-image-download-and-caching/

這兩者之間的主要區別在於,ImageDownloader採用了Android緩存系統,以及修改後的一個使用內部和外部存儲緩存,保持高速緩存的圖像無限期地或直到用戶手動刪除它。作者還提到了Android 2.1的兼容性。

問候,EZFrag

相關問題