美文网首页
SDWebImage 原理(二级缓存解决重复加载、异步下载解决

SDWebImage 原理(二级缓存解决重复加载、异步下载解决

作者: 寂寞先森666 | 来源:发表于2019-04-03 18:56 被阅读0次

第一步、通过key(url)取消当前的下载任务

第二步、设置占位图片

第三步、通过key(url)从内存缓存中获取图片,如果有,回调设置图片,如果没有,执行第四步

第四步、通过key(url 的 MD5值) 从磁盘缓存获取图片,如果有,把图片储存到内存缓存中,回调设置图片,如果没有,执行第五步

第五步、下载图片(异步),下载完成后,把图片储存到 内存缓存 和 磁盘缓存中,回调设置图片

注释: 写入到磁盘缓存:storeImageDataToDisk

          取消下载任务: - (void)sd_cancelImageLoadOperationWithKey:(NSString*)key

          从内存缓存中获取图片: - (UIImage*)imageFromMemoryCacheForKey:(NSString*)key;

         从磁盘缓存中获取图片: - (UIImage*)imageFromDiskCacheForKey:(NSString*)key;

参考:https://img.haomeiwen.com/i968977/e3b10e08102a8d18.PNG?imageMogr2/auto-orient/

相关文章

  • SDWebImage 原理(二级缓存解决重复加载、异步下载解决

    第一步、通过key(url)取消当前的下载任务 第二步、设置占位图片 第三步、通过key(url)从内存缓存中获取...

  • SDWebImage源码解析

    概述 SDWebImage是一个强大的图片下载框架,利用异步加载和内存+磁盘两级缓存处理,高效优雅的解决了图片下载...

  • SDWebImage 源码解析

    本文基于SDWebImage 4.0分析 SDWebImage 是一个支持异步下载加二级缓存的UIImageVie...

  • SDWebImage小记

    基础了解可参考SDWebImage的使用以及原理介绍。 问题1:加载高清大图时怎么处理? 解决:解决方法在此 ...

  • iOS网络编程(六):SDWebImage的简单使用

    SDWebImage一些知识: 对远程图片进行缓存管理(磁盘+内存) 异步加载 同一个URL图片不会重复下载 失效...

  • iOS 功能性

    EGOImageLoading 下载使用网络图片的库 SDWebImage 异步加载网络图片 (UIImage...

  • SDWebImage库源代码解析

    功能简介 SDWebImage加载图片流程 第一步,取消异步下载 **取消当前正在进行的异步下载,确保每个 UII...

  • NSOperation做图片异步下载

    图片的异步加载 SDWebImage的使用 图片的异步加载封装

  • 面试题收集(1)

    一、 SDWebImage的实现原理 SDWebImage是用来加载网络图片的第三方库,实现了异步请求数据,并且实...

  • iOS面试题

    1. SDWebImage的实现原理: SDWebImage是用来加载网络图片的第三方库,实现了异步请求数据,并且...

网友评论

      本文标题:SDWebImage 原理(二级缓存解决重复加载、异步下载解决

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