从服务器下载并缓存图片 - SDWebImage

2009-09-22      17951      Objective-C
项目简介

SDWebImage是一个开源的第三方库,它提供了UIImageView的一个分类,以支持从远程服务器下载并缓存图片的功能。它具有以下功能:

1提供UIImageView的一个分类,以支持网络图片的加载与缓存管理

2一个异步的图片加载器

3一个异步的内存+磁盘图片缓存

4支持GIF图片

5支持WebP图片

6后台图片解压缩处理

7确保同一个URL的图片不被下载多次(操作队列)

8确保虚假的URL不会被反复加载

9确保下载及缓存时,主线程不被阻塞(写到磁盘时采用异步)

从github上对SDWebImage使用情况就可以看出,SDWebImage在图片下载及缓存的处理方面还是很被认可的。在本文中,我们主要从源码的角度来分析一下SDWebImage的实现机制。讨论的内容将主要集中在图片的下载及缓存,而不包含对GIF图片及WebP图片的支持操作。

体系结构: