本文转载至 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使用,图片加载和缓存相关推荐

  1. iOS开发:利用SDWebImage实现图片加载与缓存

    iOS开发:利用SDWebImage实现图片加载与缓存 SDWebImage是一套开源框架,这个类库提供一个UIImageView类别以支持加载来自网络的远程图片.具有缓存管理.异步下载.同一个URL ...

  2. SDWebImage 图片加载和缓存

    SDWebImage github : https://github.com/rs/SDWebImage 这个类库提供一个UIImageView类别以支持加载来自网络的远程图片.具有缓存管理.异步下载 ...

  3. Android平滑图片加载和缓存库Glide使用详解

    在图片加载库烂大街的今天,选择一个适合自己使用的图片加载库已经成为了每一个Android开发者的必经之路.现在市面上知名的图片加载库有UIL,Picasso,Volley ImageLoader,Fr ...

  4. ym——Android(视频、图片)加载和缓存类库Glide

    转载请注明本文出自Cym的博客(http://blog.csdn.net/cym492224103),谢谢支持! 前言 在泰国举行的谷歌开发者论坛上,谷歌为我们介绍了一个名叫 Glide 的图片加载库 ...

  5. Android平滑图片加载和缓存库 Glide 使用详解

    版权声明:本文原创作者:一叶飘舟 作者博客地址:http://blog.csdn.net/jdsjlzx 一.简介 在泰国举行的谷歌开发者论坛上,谷歌为我们介绍了一个名叫 Glide的图片加载库,作者 ...

  6. Android开源框架——图片加载与缓存库 Picasso

    介绍 Picasso是由Square开发的一款图片库,具有强大的下载与缓存功能,可以对图片进行处理.它简化了来自外部图片的处理过程,尤其是远程图片. 开源地址:https://github.com/s ...

  7. Android Glide图片加载框架(一)基本用法

    文章目录 一.前言 二.简介 三.基本用法 第一步:调用 Glide.with() 方法创建加载图片的实例 第二步:调用 load() 方法指定待加载的图片资源 第三步:调用 into() 方法绑定显 ...

  8. Glide 入门到精通之二——图片加载

    http://mrfu.me/2016/02/27/Glide_Advanced_Loading/ 参考一 Glide不仅能从一个网络 URL 中加载, 也能从 Android 资源,文件和 Uri ...

  9. Picasso图片加载框架的使用

    Picasso图片加载框架的使用 Android 中有几个比较有名的图片加载框架,Universal ImageLoader.Picasso.Glide和Fresco.它们各有优点,以前一直用的是Im ...

最新文章

  1. VS中安装DevExpress后在Winform的工具箱中不显示控件
  2. 拦截器如何获取@requestbody_分布式系统中如何优雅地追踪日志(原理篇)
  3. [vue] 父子组件间传值
  4. C 语言中,x += 5 == 4 是什么意思?
  5. 创建初始脚本工具mkscript.sh
  6. 将not exists更改为外连接
  7. Office版本差别引发的语法问题
  8. 带小手的文档怎么复制
  9. 病毒变种--C语言练习
  10. c语言中文件的四种读取方法
  11. 《SEM长尾搜索营销策略解密》一一2.6 不再被忽视的个体差异
  12. linux希捷移动硬盘驱动,如果无法读取Seagate移动硬盘驱动器,该怎么办?
  13. [PTA] 7-6 厘米换算英尺英寸
  14. Android初窥门径
  15. web爬虫讲解—urllib库中使用xpath表达式—BeautifulSoup基础
  16. Google 就业岗分析
  17. python 网页答题器_大话西游答题器 Python版本
  18. CPU构成详细介绍以及工作原理
  19. wireshark/The NPF driver isn’t running./Unable to load WinPcap (wpcap.dll)
  20. 在新学期,立新规划!

热门文章

  1. 坚持不懈续集 (二) 初学者挑战学习Python编程30天
  2. Python练习题,十大项目,一起探讨
  3. ios 打印 详细错误日志_关于Xcode不能打印崩溃日志
  4. 磁共振检查头部能检测出什么_什么是磁共振血管造影?检查价格贵吗?
  5. 微信开发者和其他服务器区别,求教微信公众号开发中两种认证技术的区别?
  6. springBoot之过滤器和拦截器的使用
  7. Dockerfile文件命令详解
  8. VGG16之特征提取和网络参数的查看(偏置和权重)(这里只做简单介绍)
  9. [kuangbin带你飞]专题六-生成最小树
  10. 树上问题 ---- E. Fib-tree(斐波那契数的性质 + 暴力模拟 + 认真计算复杂度)