我一直在尝试从https://github.com/kean/Nuke开始的的图像缓存的Nuke框架,我无法弄清楚如何从缓存中删除图像(磁盘和内存),我可以找到一个Cache类的方法" removeAll"从缓存中删除图像,但我有两个问题:
在尝试之前我还没有尝试检查文档,所以投票结果因为我没有附加代码也不是很好。
答案 0 :(得分:1)
要存储未处理的图像数据,Nuke使用URLCache
实例。因此,您必须调用适当的removeAllCachedResponses()
实例的URLCache
。
因此,如果您使用the comment上Sergey Di提到的Nuke共享实例,则可以按以下代码清除磁盘中存储的图像
Nuke.Cache.shared.removeAll()
Nuke.DataLoader.sharedUrlCache.removeAllCachedResponses()
如果您使用自定义的共享ImagePipeline,这有点复杂,但是您可以像下面的代码一样
(ImagePipeline.shared.configuration.dataLoader as? DataLoader)?.session.configuration.urlCache?.removeAllCachedResponses()
希望我的回答对您有所帮助。