图片缓存问题

作者: 钎探穗 | 来源:发表于2017-10-30 16:58 被阅读47次

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

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

    相关文章

      网友评论

        本文标题:图片缓存问题

        本文链接:https://www.haomeiwen.com/subject/hpqmpxtx.html