SDWebImage的使用方法

功能:帮我们专门处理网络图片处理框架

下载地址:https://github.com/rs/SDWebImage

1设置图片

//包含了多种功能
1,sd_setImageWithURL获取网络图片
2,placeholderImage占位图片
3,progress 下载进度 用法: NSLog(@"下载进步:%f",(double)receivedSize / expectedSize);
4, *image *error *imageURL分别完成后返回的图片,错误和下载地址
5,SDImageCacheType cacheType 是枚举类型,图片存储位置在内存、磁盘或无
6,SDWebImageOptions 枚举类型 
    用法:SDWebImageOptions options = SDWebImageRetryFailed | SDWebImageLowPriority
    SDWebImageRetryFailed 下载失败重复下载        常用
    SDWebImageLowPriority 当UI交互的时候暂停下载   常用
    SDWebImageCacheMemoryOnly 只存图片在内存
    SDWebImageProgressiveDownload 可以像浏览器那样从上往下下载刷新图片 
    SDWebImageRefreshCached 刷新缓存
    SDWebImageHighPriority  高优先级
    SDWebImageDelayPlaceholder 不加载占位图    
    
    [cell.imageView sd_setImageWithURL:(NSURL *) 
                      placeholderImage:(UIImage *) 
                               options:(SDWebImageOptions) 
                     progress:^(NSInteger receivedSize, NSInteger expectedSize) {
        <#code#>
                             } completed:^(UIImage *image,
                                           NSError *error, 
                               SDImageCacheType cacheType, 
                                           NSURL *imageURL) {        
        <#code#>
    }];

2内存处理

因为SDWebImgae是属于整个项目,不是属于某个控制器,所以不要在控制器里的didReceiveMemoryWarning处理内存问题,而且在AppDelegate.m添加applicationDidReceiveMemoryWarning方法

- (void)applicationDidReceiveMemoryWarning:(UIApplication *)application
{
    SDWebImageManager *mrg = [SDWebImageManager sharedManager];
    //1,取消下砸操作
    [mrg cancelAll];
    //2,清除内存缓存
    [mrg.imageCache clearMemory];
}

3其他功能

1,设置定期清理缓存时间

//设置100天,默认是7天
[SDWebImageManager sharedManager].imageCache.maxCacheAge = 100 * 24 * 60 * 60

2,设置最大缓存容量

//无默认值,单位目前不清楚
[SDWebImageManager sharedManager].imageCache.maxCacheSize = ;
时间: 2024-08-02 02:07:40

SDWebImage的使用方法的相关文章

SDWebImage最新使用

我之前写过一篇博客,介绍缓存处理的三种方式,其中最难,最麻烦,最占内存资源的还是图片缓存,最近做的项目有大量的图片处理,还是采用了SDWebImage来处理,但是发现之前封装好的代码报错了.研究发现,是我用了新版的SDWebImage,好多方法都变了. 现在把代码贴出来,供大家参考.尤其是新手,看完这篇博客,图片缓存so easy.最后有demo供大家下载,先学习. 第一步,下载SDWebImage,导入工程.github托管地址https://github.com/rs/SDWebImage

&lt;转&gt;最新版SDWebImage的使用

我之前写过一篇博客,介绍缓存处理的三种方式,其中最难,最麻烦,最占内存资源的还是图片缓存,最近做的项目有大量的图片处理,还是采用了SDWebImage来处理,但是发现之前封装好的代码报错了.研究发现,是我用了新版的SDWebImage,好多方法都变了. 现在把代码贴出来,供大家参考.尤其是新手,看完这篇博客,图片缓存so easy.最后有demo供大家下载,先学习. 第一步,下载SDWebImage,导入工程.github托管地址https://github.com/rs/SDWebImage

SDWebImage的改版后的使用-图片缓存处理

我之前写过一篇博客,介绍缓存处理的三种方式,其中最难,最麻烦,最占内存资源的还是图片缓存,最近做的项目有大量的图片处理,还是采用了SDWebImage来处理,但是发现之前封装好的代码报错了.研究发现,是我用了新版的SDWebImage,好多方法都变了. 现在把代码贴出来,供大家参考.尤其是新手,看完这篇博客,图片缓存so easy.最后有demo供大家下载,先学习. 第一步,下载SDWebImage,导入工程.github托管地址https://github.com/rs/SDWebImage

关于SDWebImage加载高清图片导致app崩溃的问题

链接是对于SDWebImage的使用方法 http://www.cnblogs.com/JimmyBright/p/4457258.html 使用SDWebImage加载高清图片的时候,往往会报内存溢出的错误导致程序直接crash.比如说,你的程序加载10张左右的单反相片,这些相片每张都在10M左右,使用SDWebImage下载缓存再显示的方法,程序肯定会直接挂掉,查看内存图标一般是这种情况 这个程序一般运行内存消耗是13M左右,但是在加载了某张10M左右的图片后,突然有一个上升,飙升到178M

IOS SDWebImage实现原理详解

在之前我写过SDWebImage的使用方法,主要是用与获取网络图片,没有看过的朋友可以看看. 这篇文章将主要介绍SDWebImage的实现原理,主要针对于获取网络图片的原理,如果没有第三方我们该怎么去做,当然我知识用文字去介绍,我想花大把的时间去深入理解我们用不到的东西,是很不值得的,不过兴趣的朋友可以去其他博客上查找相应信息,毕竟学无止境.好了下面开始进入正题. 1)当我门需要获取网络图片的时候,我们首先需要的便是URl没有URl什么都没有,获得URL后我们SDWebImage实现的并不是直接

sdwebimage基本用法及原理

最新版SDWebImage的使用 我之前写过一篇博客,介绍缓存处理的三种方式,其中最难,最麻烦,最占内存资源的还是图片缓存,最近做的项目有大量的图片处理,还是采用了SDWebImage来处理,但是发现之前封装好的代码报错了.研究发现,是我用了新版的SDWebImage,好多方法都变了. 现在把代码贴出来,供大家参考.尤其是新手,看完这篇博客,图片缓存so easy.最后有demo供大家下载,先学习. 第一步,下载SDWebImage,导入工程.github托管地址https://github.c

SDWebImage之SDWebImageManager

SDWebImageManager是SDWebImage的核心类.它拥有一个SDWebImageCache和一个SDWebImageDownloader属性,分别用于图片的缓存和下载处理.虽然是核心类,但它的源码很简单,这是因为相应的功能职责进行了良好的分类.下面我们来看一下它的源码. 1.SDWebImageOptions typedef NS_OPTIONS(NSUInteger, SDWebImageOptions) { /** * By default, when a URL fail

快速生成沙盒目录的路径,多图片下载的原理(SDWebImage框架的简单介绍)

一.快速生成沙盒目录的路径 这个类主要是为了方便你快速拿到沙盒目录里文件夹的路径 给NSString写个分类 NSString+CHG.h #import <Foundation/Foundation.h> @interface NSString (CHG) // 用于生成文件在caches目录中的路径 - (instancetype)cacheDir; // 用于生成文件在document目录中的路径 - (instancetype)docDir; // 用于生成文件在tmp目录中的路径 -

iOS 的 Gif 渲染引擎 FLAnimatedImage-b

公司的项目有个首页加载一张2M左右的git图,刚做的时候是使用的SDWebImage里面的方法: + (UIImage *)sd_animatedGIFNamed:(NSString *)name; + (UIImage *)sd_animatedGIFWithData:(NSData *)data; 使用之后发现这个方法会使内存迅速上增300M,在网上找了一些方法: //在didReceiveMemoryWarning方法中释放SDImage的缓存即可! - (void)didReceiveM