SDWebImage简单使用

0、加载网络图片,需要使用URL,所以,只要类提供了有传URL的方法,就可以从网络下载图片,
      比如NSData可以从网络下载图片,显示到imageView上:

 

选择使用SDWebImage加载图片!使用SDWebImage加载图片,会帮我们自动做图片缓存,下次从相同的URL中下载图片,会自动去缓存中取

1.依赖的框架

* ImageIO.framework

* MapKit.framework

 

2.UIImageView下载图片需要的头文件:UIImageView+WebCache.h

 

3.调用方法下载图片

// url是图片路径
// placeholder是占位图片(正在下载图片时,暂时显示的图片)
// options是缓存策略
- (void)setImageWithURL:(NSURL *)url placeholderImage:(UIImage *)placeholder

- (void)setImageWithURL:(NSURL *)url placeholderImage:(UIImage *)placeholder options:(SDWebImageOptions)options

4.缓存策略-SDWebImageOptions

认是开启了盘\内存缓存的。当想改变缓存策略,可以指定下面这些参数。

复制代码
* SDWebImageRetryFailed   下载失败了会再次尝试下载

* SDWebImageLowPriority   当UIScrollView等正在滚动时,延迟下载图片(放置scrollView滚动卡)

* SDWebImageCacheMemoryOnly 只缓存到内存中,不缓存到硬盘上

* SDWebImageProgressiveDownload 图片会一点一点慢慢显示出来(就像浏览器显示网页上的图片一样)

* SDWebImageRefreshCached 将硬盘缓存交给系统自带的NSURLCache去处理,当同一个URL对应的图片经常更改时可以用这种策略
复制代码

一般使用SDWebImageRetryFailed | SDWebImageLowPriority

 SDWebImageRefreshCached:当图片地址经常变化时,使用这个缓存策略(NSURLCache处理方式:当URL不变时,去缓存读取,当URL变化时,会去网络加载,并刷新缓存)。

 

复制代码
- (void)clearCache
{
    [Tools showStatusWithString:@"清理中..."];
    
    [[SDImageCache sharedImageCache] clearDiskOnCompletion:^{
        
        // sdwebimage清理完自己管理的缓存后,我们来清理我们自己应用页面缓存

        [[WBCacheManager shareManager] clearDisk];
        [[KTCacheManager shareManager] clearDisk];
        [Tools showSuccessWithString:@"清理成功"];
    }];
    
    // 清理tmp目录下的所有文件
    NSString *direction = NSTemporaryDirectory();
    NSArray *tmplist = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:direction error:nil];
    
    for (NSString *filename in tmplist) {
        NSString *fullpath = [direction stringByAppendingPathComponent:filename];
        if ([[NSFileManager defaultManager] fileExistsAtPath:fullpath]) {
            [[NSFileManager defaultManager] removeItemAtPath:fullpath error:nil];
        }
    }
    
}
View Code
复制代码

 

 
posted @   Big.Eagle  阅读(352)  评论(0编辑  收藏  举报
编辑推荐:
· 用 C# 插值字符串处理器写一个 sscanf
· Java 中堆内存和栈内存上的数据分布和特点
· 开发中对象命名的一点思考
· .NET Core内存结构体系(Windows环境)底层原理浅谈
· C# 深度学习:对抗生成网络(GAN)训练头像生成模型
阅读排行:
· 手把手教你更优雅的享受 DeepSeek
· AI工具推荐:领先的开源 AI 代码助手——Continue
· 探秘Transformer系列之(2)---总体架构
· V-Control:一个基于 .NET MAUI 的开箱即用的UI组件库
· 乌龟冬眠箱湿度监控系统和AI辅助建议功能的实现
点击右上角即可分享
微信分享提示