使用 felipecsl Android-ImageManager 库如何替换缓存的图像

Posted

技术标签:

【中文标题】使用 felipecsl Android-ImageManager 库如何替换缓存的图像【英文标题】:With felipecsl Android-ImageManager library how can I replace a cached image 【发布时间】:2014-03-14 12:30:18 【问题描述】:

我正在使用felipecsl android-ImageManager library 从我们的一台服务器下载一些图像并将其加载到列表视图中。在我的 Android 应用程序中,我有一个功能可以从应用程序端更改下载的图像并将其上传到服务器。

我确实知道如何从 URL 加载图像,因为上面提到的链接已经很好地记录了它。我需要的是更改/删除特定的缓存项目,并将其替换为来自 Android 应用程序端的新图像。

让我进一步解释一下。通常情况下,它会从提供的 URL 加载图像并将其缓存在管理器的 LRU 和磁盘缓存中。然后第二次调用同一个 URL,如果图像已经被缓存,即使我从应用程序端设置了不同的图像,也会从缓存中获取它。

因此,我怎样才能从缓存中删除该 URL 或为该相同 URL 的缓存设置新图像。

我尝试过类似下面的方法,但似乎不起作用。

imageManager.getCacheManager().getMemoryCache().put(ImageManager.getCacheKeyForJob(myUrl, jobOptions), bitmap);

【问题讨论】:

【参考方案1】:

库并不真正支持。如果您需要进行这种更高级的缓存管理,您可以使用 Picasso (https://github.com/square/picasso),您可以在其中设置自己的缓存管理器,并对缓存的图像进行更多控制。

【讨论】:

我认为我现在需要的东西在Picasso 上也是不可行的。

以上是关于使用 felipecsl Android-ImageManager 库如何替换缓存的图像的主要内容,如果未能解决你的问题,请参考以下文章

测试使用

第一篇 用于测试使用

在使用加载数据流步骤的猪中,使用(使用 PigStorage)和不使用它有啥区别?

今目标使用教程 今目标任务使用篇

Qt静态编译时使用OpenSSL有三种方式(不使用,动态使用,静态使用,默认是动态使用)

MySQL db 在按日期排序时使用“使用位置;使用临时;使用文件排序”