您的位置:首页 > 其它

234,SDWebImage的使用

2016-01-27 13:09 369 查看
ViewController.m:

#import "ViewController.h"

#import "UIImageView+WebCache.h"

#import "SDImageCache.h"

@interface
ViewController ()

@property (nonatomic,strong)
UIImageView *imageView;

@end

@implementation ViewController

- (UIImageView *)imageView{

if (!_imageView) {

_imageView = [[UIImageView
alloc] initWithFrame:self.view.frame];

[self.view
addSubview:_imageView];

}

return
_imageView;

}

- (void)viewDidLoad{

SDImageCache *imageCache = [SDImageCache
sharedImageCache];

//maxCacheAge:缓存不被清理的有效期,单位为秒。没有进行任何设置,默认是一个星期,7天

//maxCacheSize:限制缓存大小,单位为字节

imageCache.maxCacheAge =
31 * 24 * 60 *
60;

//设置8M硬盘缓存

imageCache.maxCacheSize =
8 * 1024 *
1024;

}

- (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event{

NSURL *url = [NSURL
URLWithString:@"http://pic4.nipic.com/20090807/2082016_093903000_2.jpg"];

//1,传入url便可

//[self.imageView sd_setImageWithURL:url];

//2,传入url,等下载完成后,可以执行一些操作

//[self.imageView sd_setImageWithURL:url completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType, NSURL *imageURL) {

// NSLog(@"下载完成!当前线程:%@,image:%@,imageURL:%@",[NSThread
currentThread],image,imageURL);

//}];

//3,传入url,占位图,处理情况,输出一些进度数,图片下载完成后,进行一些处理

//SDWebImageRetryFailed图片下载失败,重试下载

//SDWebImageLowPriority当用户操作界面,暂停下载,等用户没有操作界面,继续下载

//SDWebImageProgressiveDownload在图片上显示下载进度

UIImage *placeholder = [UIImage
imageNamed:@"placeholder"];

SDWebImageOptions options =
SDWebImageRetryFailed | SDWebImageLowPriority |
SDWebImageProgressiveDownload;

[self.imageView
sd_setImageWithURL:url
placeholderImage:placeholder options:options
progress:^(NSInteger receivedSize,
NSInteger expectedSize) {//多次被执行

NSLog(@"进度:%f",1.0 *
receivedSize / expectedSize);

} completed:^(UIImage *image,
NSError *error, SDImageCacheType cacheType,
NSURL *imageURL) {

NSLog(@"下载完成!当前线程:%@,image:%@,imageURL:%@",[NSThread
currentThread],image,imageURL);

}];

}

@end

//2016-01-27 12:20:34.552 2,SDWebImage[1405:216587]
进度:-0.000000

//2016-01-27 12:20:34.732 2,SDWebImage[1405:216587]
进度:0.000000

//2016-01-27 12:20:34.740 2,SDWebImage[1405:216587]
进度:0.005714

//2016-01-27 12:20:34.746 2,SDWebImage[1405:216587]
进度:0.012962

//2016-01-27 12:20:34.773 2,SDWebImage[1405:216587]
进度:0.020210

//2016-01-27 12:20:34.783 2,SDWebImage[1405:216587]
进度:0.034707

//2016-01-27 12:20:34.804 2,SDWebImage[1405:216587]
进度:0.041955

//2016-01-27 12:20:34.820 2,SDWebImage[1405:216587]
进度:0.049203

//2016-01-27 12:20:34.829 2,SDWebImage[1405:216587]
进度:0.070947

//2016-01-27 12:20:34.846 2,SDWebImage[1405:216587]
进度:0.099940

//2016-01-27 12:20:34.864 2,SDWebImage[1405:216587]
进度:0.107188

//2016-01-27 12:20:34.881 2,SDWebImage[1405:216587]
进度:0.121684

//2016-01-27 12:20:34.896 2,SDWebImage[1405:216587]
进度:0.172421

//2016-01-27 12:20:34.913 2,SDWebImage[1405:216587]
进度:0.215910

//2016-01-27 12:20:34.932 2,SDWebImage[1405:216587]
进度:0.230406

//2016-01-27 12:20:34.948 2,SDWebImage[1405:216587]
进度:0.331880

//2016-01-27 12:20:34.964 2,SDWebImage[1405:216587]
进度:0.447850

//2016-01-27 12:20:34.980 2,SDWebImage[1405:216587]
进度:0.527579

//2016-01-27 12:20:35.000 2,SDWebImage[1405:216587]
进度:0.636301

//2016-01-27 12:20:35.020 2,SDWebImage[1405:216587]
进度:0.796419

//2016-01-27 12:20:35.049 2,SDWebImage[1405:216587]
进度:0.905141

//2016-01-27 12:20:35.065 2,SDWebImage[1405:216587]
进度:0.984871

//2016-01-27 12:20:35.065 2,SDWebImage[1405:216587]
进度:1.000000

//2016-01-27 12:20:35.066 2,SDWebImage[1405:216587]
下载完成!当前线程:<NSThread: 0x7fa6b3f04d30>{number = 1, name = main},image:<UIImage: 0x7fa6b3c79270>, {341.33333333333331, 213.33333333333334},imageURL:http://pic4.nipic.com/20090807/2082016_093903000_2.jpg

//

AppDelegate.m:

#import "AppDelegate.h"

#import "SDWebImageManager.h"

@interface
AppDelegate ()

@end

@implementation AppDelegate

- (void)applicationDidReceiveMemoryWarning:(UIApplication *)application{

//当程序收到内存警告的时候,需要清理内存,取消所有NSOperation等

SDWebImageManager *manger = [SDWebImageManagersharedManager];

//取消所有操作

[manger cancelAll];

//清理内存

[manger.imageCache
clearMemory];

}

@end
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: