iOS SDWebImage

//联系人:石虎QQ: 1224614774昵称:嗡嘛呢叭咪哄

*如何学习第三方框架

一.准备工作

如何获得?http://github.com

搜索:sdwebImage

github上所有框架都不要download

1.带版本库克隆到本地

$ git clone --recursive https://github.com/rs/SDWebImage.git

//更新服务器的代码,进入存放代码的位置

$ git pull

提示$ git clone --help

--recursive递归,如果第三方框架有其他的依赖,会一起clone到本地

2.打开项目,运行测试程序SDWebImage.xcworkspace

如果提示:clang: error: no input files通常是因为第三方框架还依赖其他的框架

3.通常作者提供的演示程序,能够最快的找到如何使用的方法,以及细节!

4.看官方首页文档,找到最重要的方法!

5.建立"分支"-同样适合走向工作岗位

在Xcode中,选择source control-Branch-New Branch(分支)

建立分支可以让我们放手去尝试!

二.测试第三方框架的功能!

1.拖拽框架的时候,不要copy到项目中,保证有一个唯一的地方框架的副本,能够让自己的学习有效的积累。

2.阅读代码,找到关键代码阅读!

找到关键方法:sd_setImageWithURL

提示:不要从第一个文件开始看起

3.不清楚的地方,可以创建测试程序运行,测试效果,阅读代码未必能够看清每一个细节。

4.变阅读代码,变写注释!

github.com/liufan321

SDWebImage有一个分支“我的学习”

三.常用方法

1>常用方法

- (void)sd_setImageWithURL:(NSURL *)url placeholderImage:(UIImage *)placeholder;

- (void)sd_setImageWithURL:(NSURL *)url placeholderImage:(UIImage *)placeholder options:(SDWebImageOptions)options;

- (void)sd_setImageWithURL:(NSURL *)url placeholderImage:(UIImage *)placeholder completed:(SDWebImageCompletionBlock)completedBlock;

- (void)sd_setImageWithURL:(NSURL *)url placeholderImage:(UIImage *)placeholder options:(SDWebImageOptions)options progress:(SDWebImageDownloaderProgressBlock)progressBlock completed:(SDWebImageCompletionBlock)completedBlock;

2>  SDWebImageOptions

* SDWebImageRetryFailed :下载失败后,会自动重新下载

* SDWebImageLowPriority :当正在进行UI交互时,自动暂停内部的一些下载操作

* SDWebImageRetryFailed | SDWebImageLowPriority :拥有上面2个功能

四.面试题:

1.磁盘缓存有多长时间

答:一周

2SDWebImage底层是怎么实现的?

答: PPT的"cell下载图片思路–有沙盒缓存"

3.SDWebImage中的GIF是怎么播放的?

答:1> #import

2>读取出GIF文件中的每一桢图片,设置UIImageView的可动画数组

3>自动计算gif播放的时长

另外,如果用SDWebImage显示gif,什么附加操作都不用做

4.SDWebImage的内存警告是如何处理的?

答:1>  SDImageCache在实例化的时候会注册监听应用程序通知

2>一旦接收到内存警告,直接清理内存缓存

3>应用程序被终止前,清理过期磁盘缓存

4>应用程序退出到后台,在后台清理磁盘缓存

//清理磁盘缓存

- (void)clearMemory;

//清除硬盘缓存

- (void)clearDisk;

//清理硬盘缓存(超过时间的图片)

- (void)cleanDisk;

你可能感兴趣的:(iOS SDWebImage)