清除缓存的方法(计算)

1.计算

- (float)checkTmpSize
{
    float totalSize = 0;
    NSDirectoryEnumerator *fileEnumerator = [[NSFileManager defaultManager] enumeratorAtPath:diskCachePath];
    for (NSString *fileName in fileEnumerator)
    {
        NSString *filePath = [diskCachePath stringByAppendingPathComponent:fileName];

        NSDictionary *attrs = [[NSFileManager defaultManager] attributesOfItemAtPath:filePath error:nil];

        unsigned long long length = [attrs fileSize];

        totalSize += length / 1024.0 / 1024.0;
    }
//    NSLog(@"tmp size is %.2f",totalSize);

    return totalSize;
}

新版的SDImageCache类,已增加此方法

[[SDImageCache sharedImageCache] getSize];

2.设置里清除缓存

#pragma 清理缓存图片

- (void)clearTmpPics
{
    [[SDImageCache sharedImageCache] clearDisk];

//    [[SDImageCache sharedImageCache] clearMemory];//可有可无

    DLog(@"clear disk");    

    float tmpSize = [[SDImageCache sharedImageCache] checkTmpSize];

    NSString *clearCacheName = tmpSize >= 1 ? [NSString stringWithFormat:@"清理缓存(%.2fM)",tmpSize] : [NSString stringWithFormat:@"清理缓存(%.2fK)",tmpSize * 1024];

    [configDataArray replaceObjectAtIndex:2 withObject:clearCacheName];

    [configTableView reloadData];
}
时间: 2025-01-05 04:58:35

清除缓存的方法(计算)的相关文章

jquery ajax清除缓存的方法

function cityListChange(cityCode){ //{lon=121.491121, name=上海, province=上海市, telPrefix=021, provinceid=310000, code=310100, lat=31.243466, platePrefix=沪} $.ajax({ type: "get", dataType: "json", url: "${contextPath}/carUpload/cityL

SDWebImage手动清除缓存的方法

1.找到SDImageCache类 2.添加如下方法: [objc] view plaincopyprint? - (float)checkTmpSize { float totalSize = 0; NSDirectoryEnumerator *fileEnumerator = [[NSFileManager defaultManager] enumeratorAtPath:diskCachePath]; for (NSString *fileName in fileEnumerator) {

APP 清除缓存的方法

dispatch_async( dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0) , ^{ NSString *cachPath = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory,NSUserDomainMask, YES) objectAtIndex:0]; NSArray *files = [[NSFileManager defaultManager] s

iOS中 SDWebImage手动清除缓存的方法 技术分享

1.首先要找到SDImageCache类.才可以以下的方法 2.添加如下方法: [objc] view plaincopy - (float)checkTmpSize { float totalSize = 0; NSDirectoryEnumerator *fileEnumerator = [[NSFileManager defaultManager] enumeratorAtPath:diskCachePath]; for (NSString *fileName in fileEnumera

tomcat清除缓存配置方法

方法一: conf/server.xml文件 Context path中间加上reloadable="true" 例如:<Context path="/" docBase="/var/www/html" reloadable="true"></Context> 方法二: 删除work目录下的缓存文件 可以把Catalina目录删除: 注意: 不能把work整个目录删除,不然重启tomcat时,会把con

全面剖析Smarty缓存机制二[清除缓存方法]

前段时间,写了一篇 Smaryt缓存机制的几种缓存方式 ,详细介绍了三种缓存方式:全局缓存.部分缓存.局部缓存,以及通过is_cache()判断是否存在缓存来进行缓存生成.本来这篇早该完成,由于时间关系推到今天,还好思绪没有忘掉,闲话不多说,今天主要讲解Smarty缓存机制中如何清除缓存以及缓存集合的使用技巧,下面步入正题. 一.普通清除缓存方法总所周知,当你看了上一篇文章,会知道通过如下方法,对Smarty的缓存进行清除:代码示例:$smarty->clear_cache("index.

iOS清除缓存功能开发

在APP开发中,大量的图片或消息占用系统内存,造成一堆垃圾信息,所以开发清除缓存功能就显得必不可少了. 代码段1:获取文件的大小 - (long long) fileSizeAtPath:(NSString*) filePath{ NSFileManager* manager = [NSFileManager defaultManager]; if ([manager fileExistsAtPath:filePath]){ return [[manager attributesOfItemAt

requirejs 清除缓存

requirejs 清除缓存的方法 var require = { urlArgs: "bust=" +  (new Date()).getTime() }; 蜜赞网-海淘分享

(一一七)基本文件操作 -SDWebImage清除缓存 -文件夹的大小计算

在iOS的App沙盒中,Documents和Library/Preferences都会被备份到iCloud,因此只适合放置一些记录文件,例如plist.数据库文件.缓存一般放置到Library/Caches,tmp文件夹会被系统随机清除,不适宜防止数据. [图片缓存的清除] 在使用SDWebImage时,图片被大量的缓存,有时需要获取缓存的大小以及清除缓存. 要获取缓存大小,使用SDImageCache单例的getSize方法拿到byte为单位的缓存大小,注意计算时按1K=1000计算. 拿到M