SDWebImage的使用说明

     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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/357736.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

深入了解区块链技术及其常见误区

导读:区块链是一个信息技术领域的术语。从本质上讲,它是一个共享数据库,存储于其中的数据或信息,具有“不可伪造”“全程留痕”“可以追溯”“公开透明”“集体维护”等特征。基于这些特征,区块链技术奠定了坚实的“信任”基础,创造了可靠的“合作”机制,具有广阔的运用…

ztree java 增删改_Ztree实现增删改查

1.和另一篇文章--[TreeGrid 实现增删改查]前面的内容一致,只需要创建一个html页面,命名为ztree-01.html,粘贴如下网址的代码进入ztree-01.html。访问http://www.treejs.cn/v3/faq.php#_206复制这些代码html> ZTREE DEMO TITLE>HEAD>…

gwt api_使用RequestFactory API进行Spring GWT集成

gwt api从GWT 2.4开始,将RequestFactory API与后端的Spring服务集成很容易,您需要做的就是在服务器上创建一个自定义ServiceLocator,GWT将使用它来正确定位被调用的服务: public class SpringServiceLocator implements ServiceLo…

Android Studio导入项目非常慢的解决办法

问题 Android Studio目前已经更新到2.0 Preview 6了,作为Google大力推崇的开发工具,相对于Eclipse ADT有着不可比拟的优势。然而在实际使用时,依然有不少不爽的地方。Android Studio原生支持使用Gradle来构建项目本是个不错的想法&#xff0c…

AI时代——人工智能技术图谱,它来啦(机器学习+深度学习学习路线)

导读:人工智能是一门极富挑战性的科学,从事这项工作的人必须懂得计算机知识,心理学和哲学。人工智能是包括十分广泛的科学,它由不同的领域组成,如机器学习,计算机视觉等等,总的说来,人工智能研究的一个主要目标是使机器能够胜任一些通常需要人类智能才能完成的复杂工作…

java线程代码实现_Java 实现线程的2种方法的具体代码实例

实现线程的众所周知的方法具体有如下2种:(1)继承Thread类,重写run方法(2)实现Runnable接口,重写run方法然后我做如下具体实例来测试。package com.lxk.threadTest;/*** 线程测试* * Created by lxk on 2016/11/12*/public class ThreadTest {…

编写下载服务器。 第五部分:油门下载速度

在僵尸网络时代,您可以租用几百美元来运行自己的分布式拒绝服务攻击,拥有紧急开关有选择地关闭昂贵的功能或极大地降低性能是一个巨大的胜利。 在缓解问题的同时,您的应用程序仍可运行。 当然,这种安全措施在高峰或工作时间也很有…

高内聚,低耦合——8大核心中间件,微服务基础技术栈技术图谱

什么是微服务? 维基上对其定义为:一种软件开发技术- 面向服务的体系结构(SOA)架构样式的一种变体,将应用程序构造为一组松散耦合的服务。在微服务体系结构中,服务是细粒度的,协议是轻量级的。 微服务(或微服务架构)是一种云原生架构方法,其中单个应用程序由许多松散耦…

java光标移动函数_文件内光标的移动 函数基础 定义函数的三种形式 函数的返回值 调用方式...

# with open(ra.txt, r, encodingutf-8)as f:# data1f.read()# print(>1>:,data1)# print(f.tell()) # 44 只有一种情况下,光标的意思是字符# data2f.read()# print(>2>:,data2) # 第一次有结果,第二次没有,第一次读取数据后光标…

JQuery学习笔记——JQuery基础

#&#xff0c;JQuery避免名称冲突的方法var jq jQuery.noConfilct();jq.ready( function(){jq("p").hidden();});就是为了避免和其他库中$冲突&#xff1b;#&#xff0c;在引用jquery的时候&#xff0c;可以考虑使用google或者微软的cdn的jquery链接&#xff1a;<…

DBA 技能图谱——数据库管理员不在迷茫

导读:DBA一般指数据库管理员。数据库管理员(Database Administrator,简称DBA),是从事管理和维护数据库管理系统(DBMS)的相关工作人员的统称,属于运维工程师的一个分支,主要负责业务数据库从设计、测试到部署交付的全生命周期管理。 目录 DBA 技能图谱 下载地址 DBA 技能…

java的六大_java程序员必备的六大工具!

原标题&#xff1a;java程序员必备的六大工具&#xff01;Java程序员都会有套工具来应对工作上的挑战。多年来&#xff0c;Java 程序员使用软件来完成他们的工作。有很多工具对他们是有用的&#xff0c;不过对于初入行的人员来说&#xff0c;寻找合适的工具是困难的&#xff0c…

用maven运行指定java类main方法

mvn exec:java -Dexec.mainClass"com.java2s.ide.App" 转载于:https://www.cnblogs.com/silvestris/p/5162264.html

dom4j和jaxb_JAXB,SAX,DOM性能

dom4j和jaxb这篇文章研究了使用多种不同方法将XML文档编组为Java对象的性能。 XML文档非常简单。 它包含一个Person实体的集合。 <?xml version"1.0" encoding"UTF-8" standalone"yes"?> <persons><person><id>person…

H5技能图谱——适合各阶段前端程序员的学习地图

导读&#xff1a;学过web前端的都知道&#xff0c;web前端开发主要包括结构、行为和表现。那么要做好web前端&#xff0c;必须知道哪些技能呢?今天孙叫兽给大家介绍web前端的学习地图。 目录 H5技能图谱 下载地址 H5技能图谱 是不是很简单呢&#xff0c;拿赶紧收藏起来学习…

java写exe程序实例_2012软考软件设计师辅导:利用JAVA执行本地EXE文件

曾经为了这样一个需求找了很多资料&#xff0c;今天终于学习到了&#xff01;如何利用java执行exe文件&#xff1f;使用java类Runtime&#xff0c;每个Java应用程序都有一个Runtime类实例&#xff0c;使应用程序能够与其运行的环境相连接。可以通过getRuntime方法获取当前运行时…

Hadoop 家族技能图谱——包含Hive和Mahout两个大类

导读:hadoop是开源的分布式存储和分布式计算平台.由HDFS(分布式文件存储系统,存储海量数据)Mapreduce(并行处理框架,实现任务分配和调度.)组成。可以搭建大型数据仓库,分析海量日志,存储,统计等。Zookeeper 解决分布式环境下的数据管理,统一命名,状态同步,集群管理,配…

java空格 逗号_Java将字符串中的空格换为逗号

import java.util.regex.Matcher;import java.util.regex.Pattern;public class Math {/*** param args*/public static void main(String[] args) {String str "a c b 1 2.2 3";//结果&#xff1a;a,c,b,1,,,,,,,,,,,2.2,,,,,,,,,3System.out.println(str.replaceA…

使用Spring JUnit规则进行参数化集成测试

Spring 4.2附带了全新的JUnit规则&#xff1a; SpringClassRule和SpringMethodRule 。 使用JUnit规则的主要优点是让开发人员摆脱SpringJUnit4ClassRunner并在Spring集成测试中利用不同的JUnit运行器。 我认为Spring JUnit Rules的最大机会是易于创建参数化的集成测试。 要测试…

逻辑的封闭性

始终认为&#xff0c;代码的好坏&#xff0c;在于思维逻辑的有效性、完整性&#xff08;封闭性&#xff09;&#xff0c;只有这样才可能尽量的保证少出现BUG&#xff0c;或者在需求变更的时候&#xff0c;出现改了一处又出现一处的问题 同样&#xff0c;在解决问题的时候&#…