我一直在尝试用于图像缓存的Nuke框架,从 https://github.com/kean/Nuke 开始,在整个文档中,我无法弄清楚如何从缓存(磁盘和内存(中删除图像,我可以从缓存类"removeAll"中找到一种方法从缓存中删除图像,但我有两个问题:
- 如何删除单个图像?
- 如何从磁盘和内存缓存中删除所有图像?
我没有尝试过任何东西,我在尝试之前尝试检查文档,所以因为我没有附加代码而投票不是票价。
为了存储未处理的图像数据,Nuke使用URLCache
实例。因此,您必须调用适当的URLCache
实例的removeAllCachedResponses()
。
因此,如果您使用Sergey Di在评论中提到的Nuke共享实例,则可以清除存储在磁盘中的图像,如以下代码所示
Nuke.Cache.shared.removeAll()
Nuke.DataLoader.sharedUrlCache.removeAllCachedResponses()
如果您使用自定义共享 ImagePipeline,它有点复杂,但您可以像以下代码一样执行
(ImagePipeline.shared.configuration.dataLoader as? DataLoader)?.session.configuration.urlCache?.removeAllCachedResponses()
我希望我的回答对您有所帮助。