我需要将图像缓存 14 天。在某些 Web 服务上,我会将 apache 设置为使用 ExpiresActive On
和 ExpiresDefault "access plus 14 days"
来执行此操作。
Android 可以做到这一点吗?当然,我可以将图像存储在手机存储器上,但这不是我要寻找的解决方案。
我读了这个article (Caching Bitmaps) - 但是使用 LruCache
然后调用 finish()
会破坏缓存,我是对的还是我遗漏了什么?
那么除了将文件保存到手机存储空间之外,还有其他解决方案吗?
最佳答案
您有一个选择是使用 UniversalImageLoader .有了这个,您不必重新发明轮子。您可以通过此缓存图像:
DisplayImageOptions options = new DisplayImageOptions.Builder().cacheInMemory(true).cache.build();
ImageLoader.getInstance().displayImage(url, iv, options,
new SimpleImageLoadingListener() {
...
}
还有其他选项,例如 cacheOnDisk(true)
。如果您需要特定天数的缓存机制,这可能不是您问题的最终解决方案。
编辑
另一个不错的选择是使用 Sync Adapter .不幸的是,这是一个很长的主题,所以只需点击我提供的链接即可。要使用它,您可能必须为您的应用程序创建一个 ContentProvider
,然后创建一个实现 AbstractThreadedSyncAdapter
的类。
关于android - 在android上缓存图像几天,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40022835/