我使用 kingfisher 从 tableview 中的 url 加载图片。在我的控制器中,我有一个用于显示图片的表格视图,一个用于重新加载带有新图片的表格视图的“下一步”按钮,以及一个用于从该视图控制器转到主视图控制器的“主页”按钮。
我使用这种代码来加载图片:
cell.imageInTableCell?.kf.setImage(with: url)
当我单击下一个按钮更新图片时,这将清除我的缓存:
ImageCache.default.removeImage(forKey: photoUrl1)
它工作得很好,我可以看到我的记忆使用的起伏。
我的问题是当我单击主页按钮时尝试清除缓存。我使用的代码如下:
ImageCache.default.removeImage(forKey: photoUrl1)
或者:
let cache = KingfisherManager.shared.cache
cache.clearMemoryCache()
cache.clearDiskCache()
cache.cleanExpiredDiskCache()
或者:
ImageCache.default.clearMemoryCache()
ImageCache.default.clearDiskCache()
ImageCache.default.cleanExpiredDiskCache()
它不起作用,我没有看到我的内存使用减少。我将这些代码放在带有 touchUpInside 事件的 IBAction 中,在 prepareForSegue 和 didReceiveMemoryWarning 中,但没有任何反应。
这是我的主页按钮问题,然后用图片重新加载我的控制器,然后再次点击主页按钮等:
你看出什么问题了吗?
谢谢,