【问题标题】:How to clean up memory cache for Picasso?如何清理毕加索的内存缓存?
【发布时间】:2017-01-02 22:06:51
【问题描述】:

我使用 Picasso 作为图片查看器,它可以旋转图像。 问题是当我旋转图像并尝试在查看器中更新它时,它不会更新,直到我“销毁”应用程序或使用内存策略 - .memoryPolicy(MemoryPolicy.NO_CACHE)。我尝试使用没有缓存的应用程序,但速度很慢,所以不是解决方案。

因此,我正在寻找从内存中清理图像并更新视图的方法。我不能使用参数.rotate(90f),因为毕加索自己处理正确的旋转,在清理内存之前它不会暂时工作。

这个问题不是文件缓存的问题,而是内存缓存的问题(基于我对内存缓存设置的测试)。我也尝试过使文件缓存无效,但它并没有像我预期的那样有帮助。

Picasso.with(context).invalidate(filePath);

Picasso  
.with(context)
.load(filePath)
.into(imageView);

【问题讨论】:

    标签: android memcached picasso


    【解决方案1】:

    嗯,我终于找到了。在我使用 Glide 之前,它具有参数 signature。 Picasso 也有类似的东西,叫做 stableKey。当我使用它时,我不必关心缓存,我只需启用它并由毕加索处理休息。

    Picasso  
    .with(context)
    .load(filePath)
    .stableKey(uniqueFileAttribute)
    .into(imageView);
    

    【讨论】:

      猜你喜欢
      • 2016-08-10
      • 2015-02-14
      • 2016-03-17
      • 2014-04-10
      • 2015-05-07
      • 2019-05-26
      • 2014-11-03
      • 2016-12-31
      • 2014-09-23
      相关资源
      最近更新 更多