申明:此为本人学习笔记,若有纰漏错误之处的可留言共同探讨
我们从网上加载数据,有时候因为网络问题,加载缓慢,导致程序严重卡顿。所以,我们在开发的时候要对图片进行缓存(加载预处理)。这里,我们调用一个三方类库SDWebImage(图片缓存),对图片加载时进行缓存。使得图片还没加载完成时也不阻塞线程的运行
/*
SDWebImage使用思路
1.导入头文件,#import "UIImageView+WebCache.h"
2.在要加载图片的地方直接调用sd_setImageWithURL这个方法即可
SDWebImage的运行原理
调用SDWebImage方法之后,程序首先是在内存中找图片,找到即显示,如果没有再到沙盒中找,找到即显示,如果还是没找到,就跑到网络去找,找到就加载进程序显示(最后如果还是没找到就不显示或显示默认图片(如果你调用的是有加载默认图片的情况下)..)
*/
附上三方库资源:http://download.youkuaiyun.com/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小的情况,你们可以自己尝试看看);
本文介绍了如何在程序中利用SDWebImage库对图片进行预处理和缓存,有效避免因网络问题导致的加载缓慢和程序卡顿。通过实例演示了如何在代码中应用SDWebImage的方法,包括内存查找、沙盒查找及网络请求等关键步骤,并提供了资源链接以供进一步学习。同时,讨论了不同缓存方法对图片显示效果的影响,帮助开发者优化用户体验。
1177

被折叠的 条评论
为什么被折叠?



