SDWebImage使用,图片加载和缓存
本文转载至 http://blog.163.com/wzi_xiang/blog/static/659829612012111402812726/
[[SDImageCache sharedImageCache] clearDisk];
[[SDImageCache sharedImageCache] clearMemory];
来自:http://blog.csdn.net/sqc3375177/article/details/7714573
SDWebImage托管在github上。https://github.com/rs/SDWebImage
这个类库提供一个UIImageView类别以支持加载来自网络的远程图片。具有缓存管理、异步下载、同一个URL下载次数控制和优化等特征。
使用示范的代码:
UITableView使用UIImageView+WebCache类(基本应用,UIImageView的一个category)
前提#import导入UIImageView+WebCache.h文件,然后在tableview的cellForRowAtIndexPath:方法下:
1 - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { 2 static NSString *MyIdentifier = @"MyIdentifier"; 3 UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:MyIdentifier]; 4 if (cell == nil) { 5 cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:MyIdentifier] autorelease]; 6 } 7 // Here we use the new provided setImageWithURL: method to load the web image 8 [cell.imageView setImageWithURL:[NSURL URLWithString:@"http://www.domain.com/path/to/image.jpg"] placeholderImage:[UIImage imageNamed:@"placeholder.png"]]; 9 cell.textLabel.text = @"My Text";10 return cell;11 }
基本代码:[imageView setImageWithURL:[NSURL URLWithString:@"http://www.domain.com/path/image.jpg"]];
使用SDWebImageManager类:可以进行一些异步加载的工作。
SDWebImageManager *manager = [SDWebImageManager sharedManager];UIImage *cachedImage = [manager imageWithURL:url]; // 将需要缓存的图片加载进来if (cachedImage) { // 如果Cache命中,则直接利用缓存的图片进行有关操作 // Use the cached image immediatly} else { // 如果Cache没有命中,则去下载指定网络位置的图片,并且给出一个委托方法 // Start an async download [manager downloadWithURL:url delegate:self];}
当然你的类要实现SDWebImageManagerDelegate协议,并且要实现协议的webImageManager:didFinishWithImage:方法。
// 当下载完成后,调用回调方法,使下载的图片显示- (void)webImageManager:(SDWebImageManager *)imageManager didFinishWithImage:(UIImage *)image { // Do something with the downloaded image}
独立的异步图像下载可能会单独用到异步图片下载,则一定要用downloaderWithURL:delegate:来建立一个SDWebImageDownloader实例。
downloader = [SDWebImageDownloader downloaderWithURL:url delegate:self];
这样SDWebImageDownloaderDelegate协议的方法imageDownloader:didFinishWithImage:被调用时下载会立即开始并完成。
独立的异步图像缓存
SDImageCache类提供一个创建空缓存的实例,并用方法imageForKey:来寻找当前缓存。
UIImage *myCachedImage = [[SDImageCache sharedImageCache] imageFromKey:myCacheKey];
存储一个图像到缓存是使用方法storeImage: forKey:
[[SDImageCache sharedImageCache] storeImage:myImage forKey:myCacheKey];
默认情况下,图像将被存储在内存缓存和磁盘缓存中。如果仅仅是想内存缓存中,要使用storeImage:forKey:toDisk:方法的第三个参数带一负值来替代。
SDWebImage使用,图片加载和缓存相关推荐
- iOS开发:利用SDWebImage实现图片加载与缓存
iOS开发:利用SDWebImage实现图片加载与缓存 SDWebImage是一套开源框架,这个类库提供一个UIImageView类别以支持加载来自网络的远程图片.具有缓存管理.异步下载.同一个URL ...
- SDWebImage 图片加载和缓存
SDWebImage github : https://github.com/rs/SDWebImage 这个类库提供一个UIImageView类别以支持加载来自网络的远程图片.具有缓存管理.异步下载 ...
- Android平滑图片加载和缓存库Glide使用详解
在图片加载库烂大街的今天,选择一个适合自己使用的图片加载库已经成为了每一个Android开发者的必经之路.现在市面上知名的图片加载库有UIL,Picasso,Volley ImageLoader,Fr ...
- ym——Android(视频、图片)加载和缓存类库Glide
转载请注明本文出自Cym的博客(http://blog.csdn.net/cym492224103),谢谢支持! 前言 在泰国举行的谷歌开发者论坛上,谷歌为我们介绍了一个名叫 Glide 的图片加载库 ...
- Android平滑图片加载和缓存库 Glide 使用详解
版权声明:本文原创作者:一叶飘舟 作者博客地址:http://blog.csdn.net/jdsjlzx 一.简介 在泰国举行的谷歌开发者论坛上,谷歌为我们介绍了一个名叫 Glide的图片加载库,作者 ...
- Android开源框架——图片加载与缓存库 Picasso
介绍 Picasso是由Square开发的一款图片库,具有强大的下载与缓存功能,可以对图片进行处理.它简化了来自外部图片的处理过程,尤其是远程图片. 开源地址:https://github.com/s ...
- Android Glide图片加载框架(一)基本用法
文章目录 一.前言 二.简介 三.基本用法 第一步:调用 Glide.with() 方法创建加载图片的实例 第二步:调用 load() 方法指定待加载的图片资源 第三步:调用 into() 方法绑定显 ...
- Glide 入门到精通之二——图片加载
http://mrfu.me/2016/02/27/Glide_Advanced_Loading/ 参考一 Glide不仅能从一个网络 URL 中加载, 也能从 Android 资源,文件和 Uri ...
- Picasso图片加载框架的使用
Picasso图片加载框架的使用 Android 中有几个比较有名的图片加载框架,Universal ImageLoader.Picasso.Glide和Fresco.它们各有优点,以前一直用的是Im ...
最新文章
- VS中安装DevExpress后在Winform的工具箱中不显示控件
- 拦截器如何获取@requestbody_分布式系统中如何优雅地追踪日志(原理篇)
- [vue] 父子组件间传值
- C 语言中,x += 5 == 4 是什么意思?
- 创建初始脚本工具mkscript.sh
- 将not exists更改为外连接
- Office版本差别引发的语法问题
- 带小手的文档怎么复制
- 病毒变种--C语言练习
- c语言中文件的四种读取方法
- 《SEM长尾搜索营销策略解密》一一2.6 不再被忽视的个体差异
- linux希捷移动硬盘驱动,如果无法读取Seagate移动硬盘驱动器,该怎么办?
- [PTA] 7-6 厘米换算英尺英寸
- Android初窥门径
- web爬虫讲解—urllib库中使用xpath表达式—BeautifulSoup基础
- Google 就业岗分析
- python 网页答题器_大话西游答题器 Python版本
- CPU构成详细介绍以及工作原理
- wireshark/The NPF driver isn’t running./Unable to load WinPcap (wpcap.dll)
- 在新学期,立新规划!
热门文章
- 坚持不懈续集 (二) 初学者挑战学习Python编程30天
- Python练习题,十大项目,一起探讨
- ios 打印 详细错误日志_关于Xcode不能打印崩溃日志
- 磁共振检查头部能检测出什么_什么是磁共振血管造影?检查价格贵吗?
- 微信开发者和其他服务器区别,求教微信公众号开发中两种认证技术的区别?
- springBoot之过滤器和拦截器的使用
- Dockerfile文件命令详解
- VGG16之特征提取和网络参数的查看(偏置和权重)(这里只做简单介绍)
- [kuangbin带你飞]专题六-生成最小树
- 树上问题 ---- E. Fib-tree(斐波那契数的性质 + 暴力模拟 + 认真计算复杂度)