我使用Picasso作为图片浏览器,可以旋转图像。
问题是当我旋转图像并尝试在查看器中更新它时,直到我“销毁”应用程序或使用内存策略 - .memoryPolicy(MemoryPolicy.NO_CACHE)
时才会更新。我尝试使用没有缓存的应用程序,但速度相当慢,所以它不是解决方案。
因此,我正在寻找从内存中清理图像和更新视图的方法。我不能使用parametr .rotate(90f)
,因为Picasso自己处理正确的旋转,在内存清理之前它不会只是暂时的。
这个问题不是文件缓存的问题,它是内存缓存的问题(基于我的内存缓存设置测试)。我也试图使文件缓存无效,但是它并没有像我预期的那样有所帮助。
Picasso.with(context).invalidate(filePath);
Picasso
.with(context)
.load(filePath)
.into(imageView);
答案 0 :(得分:0)
Uff,我终于找到了。在我使用Glide之前,它有参数签名。毕加索有类似的东西叫做 stableKey 。当我使用它时,我不必关心缓存,我只是启用它并且Picasso处理休息。
Picasso
.with(context)
.load(filePath)
.stableKey(uniqueFileAttribute)
.into(imageView);