在做相册浏览时,发现使用下边方法对图片进行操作
a.kf.setImage(with: url, placeholder: placeholder, options: nil, progressBlock: { (receivedSize, totalSize) in
//receivedSize:加载缓存大小
//totalSize:图片内容总大小
}, completionHandler: { (image, error, cacheType, url) in
})
如果图片切换过快,在有加载loading显示加载进度的情况下,加载loading会出现卡卡的问题(数据显示飘忽不定),是因为上一个图片加载任务没有清除
可以使用a.kf.cancelDownloadTask()
来取消上一界面的缓存下载任务,这样只会在一开始显示上一加载到的程度.
如果有其他方面需要还可以通过下边的方法做对应的清除:
let cache = KingfisherManager.shared.cache
cache.clearDiskCache()//清除硬盘缓存
cache.clearMemoryCache()//清理网络缓存
cache.cleanExpiredDiskCache()//清理过期的,或者超过硬盘限制大小的