2011-02-14 27 views
3

我正在寫一個相當的Android應用程序,它需要緩存48x48到500x500像素的大小不同的圖像。這些圖像通過網絡從許多不同的來源獲取(想想:用戶選擇一個來源,瀏覽一堆圖像,更改來源,瀏覽一堆圖像等)。我想爲這些圖片實現緩存,因爲如果有人在瀏覽他們已經看過的圖片,我不想點擊HTTP。顯然,內存使用是非常關鍵的,所以這就是EhCache的用武之地,因爲它提供了很多不同的選項來限制緩存,將其擴展到磁盤等。Android中的EhCache用於緩存位圖圖像?

這是正確/最佳的緩存方式這些圖像?我注意到很多應用程序都在SD卡上的磁盤上進行了緩存,但爲了速度/方便,我想避免這種情況。

+0

你有沒有嘗試過任何嘗試在內存中緩存之前,緩存的磁盤上的圖像?請記住,您的手機只有非常有限的資源,系統會在需要資源時終止應用程序,但磁盤始終可用。 – dongshengcn 2011-02-14 18:03:17

+0

所以我應該寫一個緩存到磁盤的整個緩存系統?有沒有可以簡化這個的圖書館? – 2011-02-14 18:12:02

回答

2

你應該檢查馬蒂亞斯Kaeppler的項目Droid的福:
https://github.com/mttkay/droid-fu

在Droid的福,有一個ImageCache,它使用內存的一級緩存和磁盤第二級。它專門爲Android設計的,並在那裏做正確的事情,即爲當前應用程序使用指定的緩存目錄,而不是污染SD卡或其他目錄。 Android可以在需要時自動清理緩存目錄。

這裏的Javadoc:
http://mttkay.github.com/droid-fu/com/github/droidfu/imageloader/ImageCache.html