zoukankan      html  css  js  c++  java
  • SDWebImage缓存下载图片

    1.刚刚回去看了看SDWebImage缓存下载图片的东西 感觉用到的地方非常多,所以感觉有必要记录下来和大家分享一下

    下面是核心代码和注释:之前需要通过cocoaPods或者手动导入SDWebImage

     //获取模型
        App *app = self.dataArray[indexPath.row];
        cell.textLabel.text = app.name;
        cell.detailTextLabel.text = app.download;
        NSURL *url = [NSURL URLWithString:app.icon];
        
        //利用SDWebImage 缓存图片 但是需要处理内存警告
        [cell.imageView sd_setImageWithURL:url placeholderImage:[UIImage imageNamed:@"0.png"] options:SDWebImageRetryFailed | SDWebImageLowPriority progress:^(NSInteger receivedSize, NSInteger expectedSize) {
            NSLog(@"%.2f",(double)receivedSize / expectedSize);
        } completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType, NSURL *imageURL) {
            NSLog(@"加载完毕");
        }];

    这个方法粘贴出来是这样:

    - (void)sd_setImageWithURL:(NSURL *)url placeholderImage:(UIImage *)placeholder options:(SDWebImageOptions)options progress:(SDWebImageDownloaderProgressBlock)progressBlock completed:(SDWebImageCompletionBlock)completedBlock;

    注释:第一个参数是图片的网址,第二个参数是占位图,第三个图片是下载图片的选项,通常用这些:

    SDWebImageRetryFailed //下载失败就会一直下载图片

    SDWebImageLowPriority //在用户交互的时候 就会暂停下载图片 低优先级

    SDWebImageProgressiveDownload //从上往下下载 

    //**2.然后在AppDelegate.m文件中需要进行内存警告的处理  需要导入SDWebImageManager 这个类

    重写这个方法:

    /**
     当app收到内存警告时
     */
    
    - (void)applicationDidReceiveMemoryWarning:(UIApplication *)application {
        //1.取消正在下载的任务  是单例
        SDWebImageManager *manager = [SDWebImageManager sharedManager];
        [manager cancelAll];
        //2.清除缓存就行了 需要manager.imageCache
        [manager.imageCache clearMemory];
    
    }

    //ok!

     

     

     

     

     

     

     

  • 相关阅读:
    Manage by Xcode
    CrashLog查看
    关于NSDateFormatter的格式dd是月天,DD是年天
    【转】 XCode的一些调试技巧
    应用程序互相跳转
    【转】如何将TapkuLibrary框架添加到Xcode4工程项目中
    NSString initWithBytes: 有最大值限制
    在一个workspace中的 各个工程 最好设置一致
    从桌面应用自动化测试看移动应用自动化测试
    基于Android平台应用程序的关键字驱动自动化测试 – 理论、工具和实践
  • 原文地址:https://www.cnblogs.com/arenouba/p/5306553.html
Copyright © 2011-2022 走看看