申明:此为本人学习笔记,若有纰漏错误之处的可留言共同探讨
我们从网上加载数据,有时候因为网络问题,加载缓慢,导致程序严重卡顿。所以,我们在开发的时候要对图片进行缓存(加载预处理)。这里,我们调用一个三方类库SDWebImage(图片缓存),对图片加载时进行缓存。使得图片还没加载完成时也不阻塞线程的运行
/*
SDWebImage使用思路
1.导入头文件,#import "UIImageView+WebCache.h"
2.在要加载图片的地方直接调用sd_setImageWithURL这个方法即可
SDWebImage的运行原理
调用SDWebImage方法之后,程序首先是在内存中找图片,找到即显示,如果没有再到沙盒中找,找到即显示,如果还是没找到,就跑到网络去找,找到就加载进程序显示(最后如果还是没找到就不显示或显示默认图片(如果你调用的是有加载默认图片的情况下)..)
*/
附上三方库资源:http://download.csdn.net/detail/csdn_hhg/9187703
代码部分:
// 缓存方法1
[cell.imageView sd_setImageWithURL:[NSURL URLWithString:movie.imageURL]];
// 缓存方法2(常用)
[cell.imageView sd_setImageWithURL:[NSURL URLWithString:movie.imageURL] placeholderImage:[UIImage imageNamed:@"photo"]];
NSLog(@"%@",NSHomeDirectory());
(我是在cell里面添加图片的,两个方法只用其中一个即可,要注意的是,如果你不使用缓存方法的话,你的imagView如果比image大的话,图片会被拉伸;使用了缓存方法之后,如果你的imageView比image大的话,image加载完成时还是图片原来的大小,而不会被拉伸,如果是imageView比imag小的情况,你们可以自己尝试看看);