关闭

SDWebImage/SDImageCache 获得缓存大小,清理缓存。

2793人阅读 评论(0) 收藏 举报

最新版的SDWebImage已带有获取缓存空间总大小的方法 -(vode) getSize ; 


若要想获取SDImageCache指定缓存大小 可以添加一下方法;


- (float)getCachesSize{

    

    float getSize = 0;

    

    NSDirectoryEnumerator *fileEnumerator = [[NSFileManager defaultManager] enumeratorAtPath:self.diskCachePath];

    

    for ( NSString* fileName in fileEnumerator){

        

        NSString* cachePath = [self.diskCachePath stringByAppendingPathComponent:fileName];

nser

        

        NSError *error = nil;

        NSDictionary* attrs = [[NSFileManager defaultManager] attributesOfItemAtPath:cachePath error:&error];

        

        unsigned long long length = [attrs fileSize];

        

        cacheSize += length / 1024.0 / 1024.0;

    }

    return cacheSize;

}

调用以上的方法便可以获得缓存大小,

-------------------------------又是一个宁静的夜晚------------------------------------


下面方法是清除缓存的方法,在指定目录的情况下,清除指定目录的文件,方法是通用的。

SDImageCache 类中也是带有清除缓存的方法 ;- (void)clearMemory; - (void)clearDisk; 主要使用第二个。


+ (void)cleanFileDirectoryPath{

    

    NSString* pathFile  =  NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES)[0];

    NSString* cachePath = [pathFile stringByAppendingPathComponent:

                           @"Caches/com.hackemist.SDWebImageCache.default"];

    

    if (cachePath) {

         [[NSFileManager defaultManager] createDirectoryAtPath:cachePath withIntermediateDirectories:YES attributes:nil error:nil];

    }

    

    NSError* error = nil;

    [[NSFileManager defaultManager] removeItemAtPath:cachePath error:&error];

    [[NSFileManager defaultManager] createDirectoryAtPath:cachePath withIntermediateDirectories:YES attributes:nil error:&error];

}

当然调用这个方法也可以实现清除缓存的 ;(路径根据需要修改,这里的路径为SDImageCache的缓存路径)。


1
0
查看评论

iOS SDWebImage 清空缓存 新方法

之前用SDWebimage时,清除图片缓存一直用下边两个方法: //清理旧图片数据     [[SDImageCache sharedImageCache] clearDisk];     [[SDImageCache sharedImageCach...
  • Xia0Liang
  • Xia0Liang
  • 2017-02-21 14:38
  • 4141

iOS源码解析—SDWebImage(SDImageCache)

概述SDWebImage是iOS开发中加载图片的库。
  • panfeng200866
  • panfeng200866
  • 2017-04-12 11:19
  • 329

iOS开发:SDWebImage基本原理和使用

一、SDWebImage基本原理 SDWebImage是当下最流行的一个三方图片处理框架,它的强大之处相信只要是iOS开发人员就体会过,我们只需要用一句代码[[UIImageView new] sd_setImageWithURL:(NSURL *) placeholderImage:(UIIma...
  • indulgeIn
  • indulgeIn
  • 2016-04-12 10:11
  • 4911

iOS网络编程(三) 异步加载及缓存图片---->SDWebImage

@SDWebImage提供一个UIImageView的类别以支持加载来自网络的远程图片。具有缓存管理、异步下载、同一个URL下载次数控制和优化等特征. @SDWebImage的导入 1.https://github.com/rs/SDWebImage 下载SDWebImage开源包 2...
  • huang2009303513
  • huang2009303513
  • 2014-11-21 23:00
  • 8647

SDWebImage获取缓存大小,清除缓存

  • baohanqing
  • baohanqing
  • 2016-05-13 08:02
  • 3971

SDWebImage的运行机制以及缓存大小、有效时间设置

转载地址:http://www.cocoachina.com/ios/20141212/10622.html 我之前写过一篇博客,介绍缓存处理的三种方式,其中最难,最麻烦,最占内存资源的还是图片缓存,最近做的项目有大量的图片处理,还是采用了SDWebImage来处理,但是发现之前封装好的代码报错了...
  • wangfeng2500
  • wangfeng2500
  • 2015-12-16 17:59
  • 5744

iOS开发进阶-使用SDImageCache优化用户体验

iOS图片加载优化。
  • u011496891
  • u011496891
  • 2016-09-30 17:47
  • 1542

SDWebImage 获取缓存大小

//获取缓存的大小   //在获取缓存的方法写上这两句代码 NSUInteger intg = [[SDImageCache sharedImageCache] getSize]; // NSString * currentVolum = [NSString s...
  • ocean_lxq
  • ocean_lxq
  • 2016-10-10 10:06
  • 2613

iOS中SDWebImage指定缓存图片大小

  • 2013-09-29 14:41
  • 534KB
  • 下载

SDWebImage指定缓存图片大小

这几天在做iOS上的网络图片的异步加载和缓存。网上查了下,决定用SDWebImage实现。按照网络的教程,走了一遍,没什么问题。但是程序运行起来发现加载起来的图片都变得很模糊,本人有一点平面设计的经验。推测是因为图片太大的造成的细节都是,从而使图片变的模糊。进到程序的缓存文件目录,可以看到下载的图片...
  • u011638883
  • u011638883
  • 2013-09-29 14:39
  • 8438
    个人资料
    • 访问:48343次
    • 积分:1393
    • 等级:
    • 排名:千里之外
    • 原创:90篇
    • 转载:14篇
    • 译文:1篇
    • 评论:0条
    博客专栏
    文章分类