摘要:
先从downloadImageWithURL方法讲起: 每次方法调用的时候,就会创建一个SDWebImageCombinedOperation对象。 有三个属性,并遵循了SDWebImageOperation代理。 cancelled 是用来标记状态。 cancelBlock 是用来回调。 cach 阅读全文
摘要:
从UIView + webCache开始: 1. [self sd_cancelCurrentImageLoad]; 同一个imageview,请求避免请求多次。 每一个imageview 会有一个属性( operationDictionary),存放 SDWebImageOperation对象或者 阅读全文
摘要:
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 阅读全文