iOS SDWebImage
来源:互联网 发布:入门吉他推荐知乎 编辑:程序博客网 时间:2024/05/21 15:48
01 设置imageView的图片
[cell.imageView sd_setImageWithURL:[NSURL URLWithString:app.icon] placeholderImage:[UIImage imageNamed:@"placehoder"]];
02 设置图片并计算下载进度
//下载并设置图片 /* 第一个参数:要下载图片的url地址 第二个参数:设置该imageView的占位图片 第三个参数:传一个枚举值,告诉程序你下载图片的策略是什么 第一个block块:获取当前图片数据的下载进度 receivedSize:已经下载完成的数据大小 expectedSize:该文件的数据总大小 第二个block块:当图片下载完成之后执行该block中的代码 image:下载得到的图片数据 error:下载出现的错误信息 SDImageCacheType:图片的缓存策略(不缓存,内存缓存,沙盒缓存) imageURL:下载的图片的url地址 */ [cell.imageView sd_setImageWithURL:[NSURL URLWithString:app.icon] placeholderImage:[UIImage imageNamed:@"placehoder"] options:SDWebImageRetryFailed progress:^(NSInteger receivedSize, NSInteger expectedSize) { //计算当前图片的下载进度 NSLog(@"%.2f",1.0 *receivedSize / expectedSize); } completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType, NSURL *imageURL) { }];
03 系统级内存警告如何处理(面试)
//取消当前正在进行的所有下载操作 [[SDWebImageManager sharedManager] cancelAll]; //清除缓存数据(面试) //cleanDisk:删除过期的文件数据,计算当前未过期的已经下载的文件数据的大小,如果发现该数据大小大于我们设置的最大缓存数据大小,那么程序内部会按照按文件数据缓存的时间从远到近删除,知道小于最大缓存数据为止。 //clearMemory:直接删除文件,重新创建新的文件夹 //[[SDWebImageManager sharedManager].imageCache cleanDisk]; [[SDWebImageManager sharedManager].imageCache clearMemory];
04 SDWebImage默认的缓存时间是1周
05 如何播放gif图片
/* 5-1 把用户传入的gif图片->NSData 5-2 根据该Data创建一个图片数据源(NSData->CFImageSourceRef) 5-3 计算该数据源中一共有多少帧,把每一帧数据取出来放到图片数组中 5-4 根据得到的数组+计算的动画时间-》可动画的image [UIImage animatedImageWithImages:images duration:duration]; */
06 如何判断当前图片类型,只判断图片二进制数据的第一个字节
+ (NSString *)sd_contentTypeForImageData:(NSData *)data;
07 内部如何进行缓存处理?
使用了NSCache类,使用和NSDictionary类似
09 当接收到内存警告之后,内部会自动清理内存缓存
10 图片的下载顺序,默认是先进先出的:FIFO原则
0 0
- iOS:SDWebImage
- iOS SDWebImage
- iOS SDWebImage
- IOS之SDWebImage
- 【iOS开发】---- 开源库SDWebImage
- ios 开发随记 SDWebImage
- iOS:SDWebImage使用详解
- IOS SDWebImage的使用
- IOS初级:SDWebImage
- iOS开发之SDWebImage
- iOS---SDWebImage的使用
- IOS- SDWebImage的作用
- iOS SDWebImage 淡入 UITableViewCell
- iOS SDwebimage清除缓存
- ios SDWebImage 原理
- ios-SDWebImage知识点
- iOS SDWebImage基本使用
- [ios]iOS开源库学习-SDWebImage
- 一千行MySQL学习笔记
- android两种方式获取AsyncTask返回值
- Too many open files 错误解决方案
- 【C语言】C语言之枚举定义和宏定义的技巧1
- jQuery validate远程验证跟只显示第一条未通过结果
- iOS SDWebImage
- 解决LineChart 标签被屏幕遮盖问题
- JavaTM Platform Standard Edition 6 API 规范
- 2017系统架构设计师的通过人数与通过率探秘
- 【编程题目】Pq.8--求单向链表的倒数第k个节点(关于代码鲁棒性的探讨)
- 机器学习&深度学习视频资料大汇总
- FFmpeg总结(七)AV系列结构体之AVIOContext
- react native Switch使用详解
- http://blog.sina.com.cn/s/blog_a74f39a201018jal.html