图片缓存问题

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

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容