图片缓存问题

在做相册浏览时,发现使用下边方法对图片进行操作

  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()//清理过期的,或者超过硬盘限制大小的

你可能感兴趣的:(图片缓存问题)