//1.下載圖片且需要獲取下載進(jìn)度
//內(nèi)存緩存&磁盤緩存
-(void)download
{
[self.imageView sd_setImageWithURL:[NSURL URLWithString:@"http://img4.duitang.com/uploads/blog/201310/18/20131018213446_smUw4.thumb.600_0.jpeg"] placeholderImage:[UIImage imageNamed:@"Snip20160221_306"] 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(@"內(nèi)存緩存");
break;
default:
break;
}];NSLog(@"%@",[NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) lastObject]);}
//2.只需要簡單獲得一張圖片,不設(shè)置
//內(nèi)存緩存&磁盤緩存
-(void)download2
{
[[SDWebImageManager sharedManager] downloadImageWithURL:[NSURL URLWithString:@"http://img4.duitang.com/uploads/blog/201310/18/20131018213446_smUw4.thumb.600_0.jpeg"] 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;
}];
}
//3.不需要任何的緩存處理
//沒有做任何緩存處理|
-(void)download3
{
//data:圖片的二進(jìn)制數(shù)據(jù)
[[SDWebImageDownloader sharedDownloader] downloadImageWithURL:[NSURL URLWithString:@"http://img4.duitang.com/uploads/blog/201310/18/20131018213446_smUw4.thumb.600_0.jpeg"] options:0 progress:^(NSInteger receivedSize, NSInteger expectedSize) {
} completed:^(UIImage *image, NSData *data, NSError *error, BOOL finished) {
[[NSOperationQueue mainQueue]addOperationWithBlock:^{
self.imageView.image = image;
}];
}];
}
//4.播放Gif圖片
-(void)gif
{
NSLog(@"%s",__func__);
//self.imageView.image = [UIImage imageNamed:@"39e805d5ad6eddc4f80259d23bdbb6fd536633ca"];
UIImage *image = [UIImage sd_animatedGIFNamed:@"39e805d5ad6eddc4f80259d23bdbb6fd536633ca"];
self.imageView.image = image;
}
-(void)type
{
NSData *imageData = [NSData dataWithContentsOfFile:@"/Users/xiaomage/Desktop/Snip20160221_306.png"];
NSString *typeStr = [NSData sd_contentTypeForImageData:imageData];
NSLog(@"%@",typeStr);
}
1.清除緩存
clear:直接刪除緩存目錄下面的文件,然后重新創(chuàng)建空的緩存文件
clean:清除過期緩存,計算當(dāng)前緩存的大小,和設(shè)置的最大緩存數(shù)量比較,如果超出那么會繼續(xù)刪除(按照文件了創(chuàng)建的先后順序)
過期時間:7天
[[SDWebImageManager sharedManager].imageCache clearMemory];
2.取消當(dāng)前所有的操作
[[SDWebImageManager sharedManager] cancelAll];
3.最大并發(fā)數(shù)量==6
4.緩存文件的保存名稱如何處理?拿到圖片的URL路徑,對該路徑進(jìn)行MD5加密
5.該框架內(nèi)部對內(nèi)存警告的處理方式?內(nèi)部通過監(jiān)聽通知的方式請你緩存
6.該框架進(jìn)行緩存處理的方式:可變字典--->NSCache
7.如何判斷圖片的類型:在判斷圖片類型的時候狰贯,只匹配第一個字節(jié)
8.隊列中任務(wù)的處理方式:FIFO
9.如何下載圖片的?發(fā)送網(wǎng)絡(luò)請求下載圖片,NSURLConnection
10.請求超時的時間15秒