1. 在需要的地方导入头文件 #import "UIImageView+WebCache.h"

webCache:网络缓存,几乎目前所有的浏览器都有一个内置的缓存,它们通常利用客户端本地的内存和硬盘来完成缓存工作,

同时允许用户对缓存的内容大小作控制。

这个方法默认已经开启了综合缓存:即自动立即把下载的图片既写入进内存缓存中,同时又写入进硬盘缓存中

该方法的第一个参数(NSURL *)url:我们所要求下载的那张图片的URL

该方法的第二个参数(UIImage *)placeholder:占位图片

在根据第一个参数URL从服务器下载这张图片的过程中,UIImageView控件会先显示该占位图片

在成功下载这张图片完毕后,UIImageView控件就会显示已下载的这张图片

options:缓存策略(缓存观点)

SDWebImageRetryFailed:下载图片失败时,自动再次重新下载该图片

SDWebImageLowPriority:用户在与UI界面交互时,暂停下载图片

SDWebImageRefreshCached:同时刷新内存缓存和硬盘缓存

SDWebImageCacheMemoryOnly:只进行内存缓存,禁止进行硬盘缓存

SDWebImageProgressiveDownload:渐进式下载该图片,所以会渐进式地显示正下载图片

开发中,通常使用SDWebImageRetryFailed和SDWebImageLowPriority

这个方法会先去内存缓存中查找这张图片,若找到了,就加载它;

若找不到,再去硬盘缓存中查找该图片,若找到了,就加载它,然后会立即把这张图片立即写入内存缓存中。

此时,如果空闲内存过小,会先自动清空内存缓存,下一次再加载这张图片时,就直接去内存缓存中加载这张图片了

若在硬盘缓存中也没有找到,说明系统的所有缓存都没有存储这张图片

这时,就使用指定的URL来下载这张图片,所以,这才正式开始下载这张图片。

成功下载这张图片后,UIImageView会自动显示这张图片,并且系统默认会自动立即把图片同时写入到内存缓存和硬盘缓存中。

转载于:https://www.cnblogs.com/hello-Huashan/p/5148122.html

SDWebImage的使用说明相关推荐

  1. abaqus高性能服务器怎么用,高性能计算平台ABAQUS任务调度使用说明作者陈林E-Mailchenlin.PDF...

    高性能计算平台ABAQUS任务调度使用说明作者陈林E-Mailchenlin.PDF 高性能计算平台ABAQUS 任务调度使用说明 作者:陈林 E-Mail:chenlin@ 日期:2017-1-10 ...

  2. linux 文件拷贝并替换,Linux_cmd replace 文件替换使用说明,帮助信息: 复制代码 代码如 - phpStudy...

    cmd replace 文件替换使用说明 帮助信息: 复制代码 代码如下: 替换文件. REPLACE [drive1:][path1]filename [drive2:][path2] [/A] [ ...

  3. SDWebImage使用——一个可管理远程图片加载的类库

    SDWebImage托管在github上.https://github.com/rs/SDWebImage 这个类库提供一个UIImageView类别以支持加载来自网络的远程图片.具有缓存管理.异步下 ...

  4. Simple Dynamic Strings(SDS)源码解析和使用说明二

    在<Simple Dynamic Strings(SDS)源码解析和使用说明一>文中,我们分析了SDS库中数据的基本结构和创建.释放等方法.本文将介绍其一些其他方法及实现.(转载请指明出于 ...

  5. iOS SDWebImage加载webp

    项目更新使用的最新版本的SDWebImage, 需配置如下: Build Settings -> preprocessor macros -> 添加 SD_WEBP=1

  6. Swift之SDWebImage第三方框架

    在学习Swift过程中,最害怕的使用了OC的第三方框架 好不容易配置成功了,却出现了意外的Bug [UIImageView setImageWithURL:]: unrecognized select ...

  7. 源码阅读:SDWebImage(六)——SDWebImageCoderHelper

    该文章阅读的SDWebImage的版本为4.3.3. 这个类提供了四个方法,这四个方法可分为两类,一类是动图处理,一类是图像方向处理. 1.私有函数 先来看一下这个类里的两个函数 /**这个函数是计算 ...

  8. Delphi开发的IOCP测试Demo以及使用说明。

    Delphi开发的IOCP,此为压力测试Demo和使用说明.

  9. oracle database link mysql_oracle database link使用说明

    oracle database link使用说明 作用: 将多个oracle数据库逻辑上看成一个数据库,也就是说在一个数据库中可以操作另一个数据库中的对象. 简易语法: CREATE [PUBLIC] ...

最新文章

  1. [C] 图的深度优先遍历
  2. Spring框架入门基础,不可多得的干货
  3. js如何判断一个对象是不是Array?
  4. 深度神经网络(DNN)反向传播算法(BP)
  5. “后完美日记”时代,橘朵、花知晓、funnyelves们还有机会吗?
  6. GCD牛逼的中枢调度器
  7. Java的文件流操作
  8. 95-134-105-源码-维表-维表优化
  9. jsx 调用php,JavaScript_JavaScript的React框架中的JSX语法学习入门教程,什么是JSX? 在用React写组件的 - phpStudy...
  10. 转 《pywinauto进行win32应用程序的测试》
  11. Atiitt 图像处理的常见功能业务用途与类库与功能实现 目录 1. 常见业务场景 3 1.1. 缩略图 蒙版遮罩挖空 3 1.2. 区域裁剪,水印,旋转 3 1.3. 判断图像大小分辨率要求
  12. Gridgen v15 中文教程
  13. SpringCloud微服务后台管理系统
  14. 使用批处理解决U盘内出现的同名文件夹EXE病毒问题
  15. 【odroid-xu3】 ODROID-XU3软件环境搭建记录
  16. 安卓开发笔记(八)—— 王者荣耀英雄大全 数据库部分
  17. ps aux mysql_ps -aux的错误用法
  18. 几款事件相机的购买渠道介绍
  19. 全球芯片短缺:捷豹路虎亏损900万英镑
  20. 格式转换《星你》虫洞

热门文章

  1. java netty swap高_Netty 超时机制及心跳程序实现
  2. 微课与计算机技术的论文,微课在高校计算机教学的运用论文
  3. 二阶自回归过程matlab,时间序列分析:二阶自回归过程
  4. php.c drcom,校园网绕过Drcom安装自动登录程序到路由器
  5. word一键生成ppt 分页_如何一键把Word转换为PPT?
  6. mime类型是什么 node_Node.js - 文件系统获取文件类型
  7. excel分两个独立窗口_Excel2010 多个独立窗口,解决单窗口无法显示多个文件的问题...
  8. 网关到底是什么?协议转换器是网关吗?
  9. 千兆网综合布线系统的线缆选型
  10. 【渝粤教育】广东开放大学 财政学 形成性考核 (43)