首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
【
SDWebImage之SDWebImageCompat
】的更多相关文章
SDWebImage之SDWebImageCompat
SDWebImageCompat 是SDWebImage 的配置文件,里面利用条件编译对Apple 的各个平台进行了兼容.从源码中可以看到SDWebImage 支持当前的MAC/iOS/TV/WATCH 平台,这种适配各个平台的兼容,对框架开发意义重大. 1.#import <TargetConditionals.h> 导入这个头文件,能访问系统提供的配置选项.这个文件里面全部都是宏定义,主要定义了Apple 各系统平台和各CPU类型相关的宏.主要用于开发的时候针对不同的开发环境做配置使用.…
SDWebImage源码分析
1.概述 SDWebImage是iOS开发中,被广泛使用的一个第三方开源库,提供了图片从加载.解析.处理.缓存.清理等一些列功能,让我们能够专心于业务的处理.本篇会从SDWebImage的源码,来一步步分析,让我们更加的熟悉和了解它,以达到更好的应用的目的. SDWebImage最常用的方法就是下面这个,我们在实际开发中,大部分时间只是用到了这个方法: [self.imageView sd_setImageWithURL:[NSURL URLWithString:@"url"] pla…
SDWebImage源码解读 之 SDWebImageCompat
第三篇 前言 本篇主要解读SDWebImage的配置文件.正如compat的定义,该配置文件主要是兼容Apple的其他设备.也许我们真实的开发平台只有一个,但考虑各个平台的兼容性,对于框架有着很重要的意义.这篇文章的重点是抽取出对于iOS很重要的用法,能够在项目开发中提高效率. #import 导入这个头文件,我们就能访问系统提供的配置选项了,我们接下来会对该文件出现的配置属性做出解释. __OBJC_GC__ #ifdef __OBJC_GC__ #error SDWebImage does…
SDWebImage源码解读之SDWebImageDownloaderOperation
第七篇 前言 本篇文章主要讲解下载操作的相关知识,SDWebImageDownloaderOperation的主要任务是把一张图片从服务器下载到内存中.下载数据并不难,如何对下载这一系列的任务进行设计,就很难了.接下来我们一步一步的分析作者在开发中的思路和使用到的技术细节. NSOperation NSOperation想必大家都知道,为了让程序执行的更快,我们用多线程异步的方式解决这个问题,GCD与NSOperation都能实现多线程,我们这里只介绍NSOperation.如果大家想了解更多N…
SDWebImage源码解读_之SDWebImageDecoder
第四篇 前言 首先,我们要弄明白一个问题? 为什么要对UIImage进行解码呢?难道不能直接使用吗? 其实不解码也是可以使用的,假如说我们通过imageNamed:来加载image,系统默认会在主线程立即进行图片的解码工作.这一过程就是把image解码成可供控件直接使用的位图. 当在主线程调用了大量的imageNamed:方法后,就会产生卡顿了.为了解决这个问题我们有两种比较简单的处理方法: 我们不使用imageNamed:加载图片,使用其他的方法,比如imageWithContentsOfFi…
SDWebImage源码解读之SDWebImageCache(上)
第五篇 前言 本篇主要讲解图片缓存类的知识,虽然只涉及了图片方面的缓存的设计,但思想同样适用于别的方面的设计.在架构上来说,缓存算是存储设计的一部分.我们把各种不同的存储内容按照功能进行切割后,图片缓存便是其中的一个. 我们在封装自己的图片缓存管理对象的时候,SDWebImageCache能够提供大约90%的代码给我们直接使用,基于这些代码,我们需要分析出作者的设计思想是什么?当需要缓存某个列表时,基于SDWebImageCache的设计思想,我们就能够设计出比较合理的缓存管理对象了. 所谓举一…
SDWebImage源码解读之SDWebImageCache(下)
第六篇 前言 我们在SDWebImageCache(上)中了解了这个缓存类大概的功能是什么?那么接下来就要看看这些功能是如何实现的? 再次强调,不管是图片的缓存还是其他各种不同形式的缓存,在原理上都极其相似,我们通过SDWebImageCache,来看看作者是如何实现这个功能的. 在业务中,经常要缓存数据,通过本篇的学习,我们写出的缓存管理者这个管理者对象,就能够有所进步. NSCache 对于很多开发者来说,NSCache是一个陌生人,因为大家往往对NSMutableDictionary情有独…
【原】SDWebImage源码阅读(四)
[原]SDWebImage源码阅读(四) 本文转载请注明出处 —— polobymulberry-博客园 1. 前言 SDWebImage中主要实现了NSURLConnectionDataDelegate的以下方法: - (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response; - (void)connection:(NSURLConnection *)connecti…
IOS 使用SDWebImage实现仿新浪微博照片浏览器
使用第三方库SDWebImage实现仿新浪微博照片浏览器,可以下载图片缓存,点击之后滚动查看相片,具体效果如下: 代码如下: WeiboImageView.h: #import <UIKit/UIKit.h> @interface WeiboImageView : UIImageView @property (nonatomic, assign) CGRect originRect; - (instancetype)initWithFrame:(CGRect)frame; @end Weibo…
SDWebImage源码解读之SDWebImageDownloader
SDWebImage源码解读之SDWebImageDownloader 第八篇 前言 SDWebImageDownloader这个类非常简单,作者的设计思路也很清晰,但是我想在这说点题外话. 如果有人问你:你怎么看待编程这件事?你怎么回答.这个问题是我在看这个类的时候,忽然出现在我脑子中的.我突然意识到,其实不管是函数还是属性,他们都是数据.我们编写的所有程序都是在处理数据.函数本身也是一种特殊的数据. 真正难的是生产数据的这一过程.举个例子,给你一堆菜籽,要求生产出油来.怎么办?我们首先为这个…