分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > IT知识

4 SDWebImageManager

发布时间:2023-09-06 01:47责任编辑:赖小花关键词:Web
先从downloadImageWithURL方法讲起:
 
 
 
每次方法调用的时候,就会创建一个SDWebImageCombinedOperation对象。
 
 
有三个属性,并遵循了SDWebImageOperation代理。
cancelled 是用来标记状态。 
cancelBlock 是用来回调。 
cacheOperation 是磁盘查找时,创建的。 也是用来判断状态。 
 
代理方法:
 
 
先标记状态 cancelled = YES;
任何调用cancel block  
 
 
 
imageCache 是 SDImageCache类。 主要提供缓存和磁盘的查询和存储工作。 
 
下面一系列 都是对SDWebImageDownloaderOptions的设置。
 
 
imageDownloader是SDWebImageDownloader类。 主要是负责下载。
调用了downloadImageWithURL方法。
 
下面一系列的处理,就是图片下载完成之后的处理。如果图片下载成功,就调用SDImageCache的storeImage方法。同时存到缓存和磁盘当中。
 
 
在这里实现了operation 的cancelBlock 。
对subOperation ,也就是downloadImageWithURL函数返回的SDWebImageDownloaderOperation,进行了cancel 处理。 
 
并且将这个operation从runningOperations 中移除。
 
最后,downloadImageWithURL函数返回这个给operation上一级使用。 目的,有两点:
1.供外界进行取消操作。
2.对于同一个ImageView或者Button,多次请求网络时,将之前操作cancel掉。 
 
其他:
 
SDWebImageManager是一个单例,在初始化时:
 
创建
imageCache (单例)
imageDownLoader (单例)
failedURLs 用来加载失败的URL,下次再请求时,直接返回错误。 
runningOperations  存储的是正在进行中的SDWebImageDownloaderOperation对象,如果失败,或者完成,就移除。
还有一个作用是
 
 
 
 
 
 
 
 
 
 

4 SDWebImageManager

原文地址:https://www.cnblogs.com/JShuo/p/8678181.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved