android - 在android上缓存图像几天

标签 android caching bitmap

我需要将图像缓存 14 天。在某些 Web 服务上,我会将 apache 设置为使用 ExpiresActive OnExpiresDefault "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/

相关文章:

java - 错误 : Entities and Pojos must have a usable public constructor - Java

android - 如何创建从 viewpager2 扩展的自定义 View ?

java - 如何播放sd文件夹中的视频

javascript - 注销后如何在不使用浏览器缓存的情况下从服务器重新加载 Angular 应用程序

caching - QML Loader 不显示 .qml 文件的更改

java - 给定第一个点和距离,如何计算第二个点的纬度/经度?

cakephp - 使用 CakePHP(和 Asset Compress)处理图像缓存

Android - 选择性地关注位图

c# - 在 C# 中使用 IronOCR 进行光学字符识别

android - 是否可以将位图的点作为路径?