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

原创 2015年07月06日 20:01:07

最新版的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的缓存路径)。


版权声明:本文为博主原创文章,未经博主允许不得转载。 举报

相关文章推荐

SDWebImage 获取缓存大小

//获取缓存的大小   //在获取缓存的方法写上这两句代码 NSUInteger intg = [[SDImageCache sharedImageCache] getSize]; /...

清除缓存

今天给大家介绍一种简单的清除缓存的方法, 大家看过之后一定会理解这种简单的清除缓存的方法在做项目的时候, 清除缓存是一个很常用的且很有必要的东西, 之前我也从网上找了一种方法清除缓存, 但是比较麻烦,...

精选:深入理解 Docker 内部原理及网络配置

网络绝对是任何系统的核心,对于容器而言也是如此。Docker 作为目前最火的轻量级容器技术,有很多令人称道的功能,如 Docker 的镜像管理。然而,Docker的网络一直以来都比较薄弱,所以我们有必要深入了解Docker的网络知识,以满足更高的网络需求。

得到缓存及清理缓存

1、把IPackageDataObserver.aidl、IPackageStatsObserver.aidl、PackageStats.aidl复制到项目的android.content.pm包中。...

获取APP缓存大小以及清理APP缓存

在贴一大段代码之前,先普及Android的相关知识点: 先看360手机助手的一张图: 从上面这张图,我们可以看到这部手机有 系统文件(注:这个是系统的文件系统,不允许修改...

获取缓存的大小并且清理缓存

为以后写留着查看的地方 转载自http://blog.csdn.net/u014733374/article/details/47153589,具体对不对,后续我会说明 缓存文件的目录我们可以在手机/...

清除缓存计算缓存大小

// 清除缓存计算缓存大小 NSString *cachPath = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory,NSUser...

清除缓存,计算缓存大小

// 清除缓存计算缓存大小 NSString *cachPath = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory,NSUser...

Android小记:-获取缓存大小和清除缓存功能

转载自:http://www.tuicool.com/articles/j6ZzemZ     本篇博客要给大家分享的如何获取应用缓存的大小和清除缓存的功能,我们知道我们应用当中经常会产生一些数...

iOS开发 _计算缓存大小/清理

1.获取路径:// 获取Caches目录路径 - (NSString *)getCachesPath{ NSArray *paths = NSSearchPathForDirectories...

显示缓存文件大小和清理缓存

显示缓存文件大小和清理缓存
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)