Closed Pigcasso closed 5 years ago
你编辑的是本地图片文件?编辑后新图片存哪里了?缓存规则就是根据 url 检查内存缓存,如果直接写回原文件的话需要你主动删除这个 url 对应的内存缓存,然后重新显示
编辑的是本地图片文件,用的是一款叫照片编辑器的APP,这个APP可以覆盖原图片。在哪个方法里删除url对应的内存缓存合适的?我现在是在 onResume 中处理的:
照片编辑器APP:
你这个情况比较特殊,总之你需要检测到图片变化然后删除内存缓存并重新显示,具体在哪里做这件事情需要你根据你的业务情况决定,我不了解你的业务无法帮你做决定
我的业务逻辑比较简单。点击“其他应用打开”,选择照片编辑器APP,编辑完成后选择覆盖原图,再回到当前页面。请看下图:
这样的话可以这么处理,不过为了效果考虑你可以打开其它应用之前记录一下最后修改时间,回来后对比一下,如果没有改变就不需要刷新了
明白了,谢谢作者大佬👍
我的应用场景是在ViewPager中用 SketchImageView 查看图片。用其他应用编辑图片,回到ViewPager显示的是编辑前的图片。我目前的解决方案是禁用内存缓存
options.isCacheInMemoryDisabled = false
,这种方式简单粗暴。我在用 Glide 加载图片的时候也遇到的同样的问题,我的解决方案是:GlideApp.with(view).load(file).signature(ObjectKey(file.lastModified()))
。请问作者的 sketch 有没有类似 Glide 的解决方案?