SDWebImage基本使用
#import "UIImageView+WebCache.h"
#import "SDWebImageManager.h"
#import "SDWebImageDownloader.h"
#import "UIImage+GIF.h"
-(void)download
{
[self.imageView sd_setImageWithURL:[NSURL URLWithString:@"imagUrl"] placeholderImage:[UIImage imageNamed:@"placeholderName"] options:SDWebImageCacheMemoryOnly | SDWebImageProgressiveDownload progress:^(NSInteger receivedSize, NSInteger expectedSize) {
} completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType, NSURL *imageURL) {
switch (cacheType) {
case SDImageCacheTypeNone:
NSLog(@"直接下载");
break;
case SDImageCacheTypeDisk:
NSLog(@"磁盘缓存");
break;
case SDImageCacheTypeMemory:
NSLog(@"内存缓存");
break;
default:
break;
}
}];
NSLog(@"%@",[NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) lastObject]);
}
-(void)download2
{
[[SDWebImageManager sharedManager] downloadImageWithURL:[NSURL URLWithString:@"imagUrl"] options:0 progress:^(NSInteger receivedSize, NSInteger expectedSize) {
NSLog(@"%f",1.0 * receivedSize / expectedSize);
} completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType, BOOL finished, NSURL *imageURL) {
self.imageView.image = image;
}];
}
-(void)download3
{
[[SDWebImageDownloader sharedDownloader] downloadImageWithURL:[NSURL URLWithString:@"imagUrl"] options:0 progress:^(NSInteger receivedSize, NSInteger expectedSize) {
} completed:^(UIImage *image, NSData *data, NSError *error, BOOL finished) {
[[NSOperationQueue mainQueue]addOperationWithBlock:^{
self.imageView.image = image;
}];
}];
}
-(void)gif
{
UIImage *image = [UIImage sd_animatedGIFNamed:@"gifImagName"];
self.imageView.image = image;
}
SDWebImage内部细节
-(void)applicationDidReceiveMemoryWarning:(UIApplication *)application
{
[[SDWebImageManager sharedManager].imageCache clearMemory];
[[SDWebImageManager sharedManager] cancelAll];
_downloadQueue.maxConcurrentOperationCount = 6;
-(void)type
{
NSData *imageData = [NSData dataWithContentsOfFile:@"imagePath.png"];
NSString *typeStr = [NSData sd_contentTypeForImageData:imageData];
NSLog(@"%image type = @", typeStr);
}
}