iOS第三方学习1-SDWebImage学习和使用
2015-12-30 10:12
465 查看
iOS第三方学习1-SDWebImage学习和使用
在项目的开发过程中,经常会用到异步加载图片的功能,先从网络上异步下载图片,然后通过UIImageView显示在屏幕上。这个功能基本上所有的联网应用程序都要使用。SDWebImage 提供异步加载图片、缓存管理、下载进度等功能
SDWebImage有两种缓存,一种是磁盘缓存,一种是内存缓存,框架都提供了相应的方法
1. [UIImageView sd_setImageWithURL: placeholderImage: options: completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType, NSURL *imageURL) {}];
先显示 placeholderImage ,同时由SDWebImageManager 根据 URL 来查找图片。
SDWebImageManager是将UIImageView+WebCache同SDImageCache链接起来的类
SDWebImageManager 调用downloadImageWithURL:options: progress: completed:
SDImageCache queryDiskCacheForKey: done:
用来从缓存根据CacheKey查找图片是否已经在缓存中
2.如果从内存中找到了图片,就返回并显示图片;如果没找到,就在硬盘下查找图片
3.如果在硬盘中找到了图片,就返回并显示图片;如果没找到,说明所有缓存都不存在该图片,需要下载该图片
4.SDWebImageDownloader
downloadImageWithURL: options: progress: completed:
5.下载完成后返回并显示图片
图片保存到 SDImageCache 中,内存缓存和硬盘缓存同时保存。
缓存的清理
[[[SDWebImageManager sharedManager]imageCache]cleanDisk];
[[[SDWebImageManager sharedManager]imageCache]clearMemory];
[[NSURLCache sharedURLCache] removeAllCachedResponses];
著作权声明:本文由http://www.bestnathan.com/原创,欢迎转载分享。请尊重作者劳动,转载时保留该声明和作者博客链接,谢谢
相关文章推荐
- 项目适配iOS9遇到的一些问题及解决办法
- iOS中block的定义和使用
- 查看iOS崩溃日志从 Mac OS X上
- iOS开发笔记8:Remote Notification远程消息推送处理
- iOS block3种传值方法
- Ios 性能分析工具 及其使用侧重点
- iOS开发中实现新闻图片的无限循环展示的方法
- IOS学习笔记之字符串类
- IOS拍照---》保存到相册----》并且获取照片的ALasset传到相册
- IOS学习之蓝牙4.0
- iOS开发系列--通讯录、蓝牙、内购、GameCenter、iCloud、Passbook系统服务开发汇总,icloudpassbook
- IOS BLE4.0蓝牙和外设连接和收发数据的流程
- ios蓝牙---(最终我自己测试成功了读和写)
- 【iOS】判断硬件型号
- IOS学习笔记之类目和延展
- iOS多线程笔记
- iOS开发mac常用到的命令
- iOS --- OpenGLES之初步认识
- IOS 发布注意事项
- ios流继承关系