2011-02-14 50 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