android - Android 中的 EhCache 用于缓存位图图像?

标签 android caching ehcache

我正在编写一个相当不错的 Android 应用程序,它需要缓存大量大小为 48x48 到 500x500 像素的不同图像。这些图像是通过网络从许多不同的来源获取的(想想:用户选择来源、浏览一堆图像、更改来源、浏览一堆图像等)。我想为这些图像实现缓存,因为如果有人浏览他们已经看过的一些图像,我不想点击 HTTP。显然,内存使用非常关键,所以这就是 EhCache 的用武之地,因为它提供了许多不同的选项来绑定(bind)缓存、将其扩展到磁盘等。

这是缓存这些图像的正确/最佳方式吗?我注意到很多应用程序缓存到 SD 卡上的磁盘,但为了速度/方便,我想尽可能避免这种情况。

最佳答案

你应该看看 Matthias Kaeppler 的项目 Droid-Fu:
https://github.com/mttkay/droid-fu

在Droid-Fu中有一个ImageCache,一级缓存使用内存,二级缓存使用磁盘。它是专门为Android做的,并且在那里做了正确的事情,即为当前应用程序使用指定的缓存目录,而不是污染sdcard或其他目录。 Android 可以在需要时自动清理缓存目录。

这是Javadoc:
http://mttkay.github.com/droid-fu/com/github/droidfu/imageloader/ImageCache.html

关于android - Android 中的 EhCache 用于缓存位图图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4995245/

相关文章:

android - 如何在 Android imageView 中限制图像平移边界

java - 如何通过 id 组合两个对象列表并在 kotlin 中选择非空值

java - onCreateView 中的 Android Fragment getActivity().getApplicationContext() 为 null

caching - BGSAVE之后,Redis会立即删除我的所有 key

javascript - 防止缓存 JavaScript 文件

hibernate - 为什么 Hibernate 2 级静态显示的值与 CacheManager 不同

android - Log.d 与 ActionBarScherlock

c# - asp.net 核心数据保护 : An exception was thrown while deserializing the token

java - 2 台服务器上的 Infinispan 集群应用程序

hibernate - 如何在 hibernate 中使用二级实体缓存来缓存整个表。?