随笔分类 - SDWebImage
SDWebImage 源码阅读
摘要:GCD GCD是最常用的管理并行代码和执行异步操作的Unix系统层的API。GCD构造和管理队列中的任务。 队列是按先进先出(FIFO)管理对象的数据结构。队列类似电影院的售票窗口,票的销售是谁先到谁先服务。在等待线前面的人先去买他们的门票,在其余的后抵达的人之前。队列在计算机科学中是相似的,因为第
阅读全文
摘要:1.通过分类的方式,对外暴露接口。 2.给分类添加属性,通过imageURLStorageKey值,将self 和 字典进行绑定。 通过sd_imageURLForState等方法进行取值。 3.调用UIView +WebCache 的sd_internalSetImageWithURL方法 ,设置
阅读全文
摘要:从UIView + webCache开始: 1. [self sd_cancelCurrentImageLoad]; 同一个imageview,请求避免请求多次。 每一个imageview 会有一个属性( operationDictionary),存放 SDWebImageOperation对象或者
阅读全文
摘要:先从downloadImageWithURL方法讲起: 每次方法调用的时候,就会创建一个SDWebImageCombinedOperation对象。 有三个属性,并遵循了SDWebImageOperation代理。 cancelled 是用来标记状态。 cancelBlock 是用来回调。 cach
阅读全文
摘要:1. - (NSMutableDictionary *)operationDictionary 通过loadOperationKey值 ,将imageview和operations字典进行绑定。 获取到 loadOperationKey与绑定的imageview 上的 operations 字典 ,
阅读全文
摘要:此函数可能会有多个线程同时执行(因为允许多个图片的同时下载),那么就有可能会有多个线程同时修改URLCallbacks,所以使用dispatch_barrier_sync来保证同一时间只有一个线程在访问URLCallbacks。并且此处使用了一个单独的queue--barrierQueue,并且这个
阅读全文
摘要:继承于NSOperation类 重写了-start方法。手动管理操作的状态,只有发送isFinished的KVO消息时,才认为是operation结束。 为了让操作队列能够捕捉到操作的改变,需要将状态的属性以配合KVO的方式进行实现。 isExecuting 代表任务正在执行中 isFinished
阅读全文
摘要:流程图: 1.UIimageView + WebCache 类 sd_setImageWithURL 方法,实现异步加载图片。 在分类中,实现 sd_imageURL属性,保存url . 将placeHolder 付给image 2. SDWebImageManager(单利),调用 downloa
阅读全文
摘要:- (NSOperation *)queryDiskCacheForKey:(NSString *)key done:(SDWebImageQueryCompletedBlock)doneBlock 作用:缓存中查找 现在memCache中查找,再在disk中查找(如果找到,存入缓存中)。 - (v
阅读全文
摘要:基于networking 框架 在项目中实践并得以应用。 网址:http://www.jianshu.com/p/05a59197a7c7 demo:https://github.com/YasinZhou/NetWorkingDemo 随着项目的体积越来越大,业务扩展越来越高,网络层出现了一下几种
阅读全文

浙公网安备 33010602011771号