iOS 缓存的获取计算与清除归零
2016-08-15 00:00
489 查看
摘要: 从应用程序中获取缓存路径,将缓存文件进行拼接扫描,并计算所有文件大小,汇总出总大小.清除缓存时,将缓存路径下的文件进行删除.
1,获取路径并进行数据的拼接
2,计算缓存,根据大小添加相应单位
3,清除缓存
1,获取路径并进行数据的拼接
//获取缓存 - (void)caculatorSize{ NSString *cacheFilePath = [NSHomeDirectory() stringByAppendingPathComponent:@"Library/Caches"]; NSFileManager* manager = [NSFileManager defaultManager]; _manager = manager; if (![_manager fileExistsAtPath:cacheFilePath]){ NSLog(@"Null"); } NSEnumerator *childFilesEnumerator = [[_manager subpathsAtPath:cacheFilePath] objectEnumerator]; NSString* fileName; _fileName = fileName; long long folderSize = 0; while ((_fileName = [childFilesEnumerator nextObject]) != nil){ NSString* fileAbsolutePath = [cacheFilePath stringByAppendingPathComponent:_fileName]; _fileAbsolutePath = fileAbsolutePath; folderSize += [[_manager attributesOfItemAtPath:fileAbsolutePath error:nil]fileSize]; } CGFloat intg = [[SDImageCache sharedImageCache] getSize]; CGFloat sum = folderSize + intg; NSString * currentVolum = [NSString stringWithFormat:@"%@",[self fileSizeWithInterge:sum]]; _currentVolum = currentVolum; }
2,计算缓存,根据大小添加相应单位
//计算文件大小 - (NSString *)fileSizeWithInterge:(CGFloat)size{ // 1k = 1024, 1m = 1024k if (size < 1024) {// 小于1k if (size <200){ return [NSString stringWithFormat:@"%@B",@"0"]; } return [NSString stringWithFormat:@"%ldB",(long)size]; }else if (size < 1024 * 1024){// 小于1m CGFloat aFloat = size/1024; return [NSString stringWithFormat:@"%.0fK",aFloat]; }else if (size < 1024 * 1024 * 1024){// 小于1G CGFloat aFloat = size/(1024 * 1024); return [NSString stringWithFormat:@"%.2fM",aFloat]; }else{ CGFloat aFloat = size/(1024*1024*1024); return [NSString stringWithFormat:@"%.1fG",aFloat]; } }
3,清除缓存
//清除缓存 - (void)cleanTheCaheForWebView{ NSString *cacheFilePath = [NSHomeDirectory() stringByAppendingPathComponent:@"Library/Caches"]; NSEnumerator *childFilesEnumerator = [[_manager subpathsAtPath:cacheFilePath] objectEnumerator]; NSString *fileOne; while ((fileOne = [childFilesEnumerator nextObject]) != nil){ NSString* fileAbsolutePath = [cacheFilePath stringByAppendingPathComponent:fileOne]; //过滤掉不想清除的文件 if ([fileAbsolutePath rangerOfString:@"JPUSH"].location != NSNotFound){ }else{ [_manager removeItemAtPath:fileAbsolutePath error:nil]; } } }
相关文章推荐
- iOS 获取缓存大小 清除缓存
- iOS中显示获取缓存的大小多少M,点击清除缓存方法
- iOS文件管理,文件夹目录调取+缓存读取计算清除
- iOS中的缓存计算和清除完整实例代码
- iOS 获取缓存大小与清除缓存
- 【iOS】获取缓存大小清除缓存的方法
- iOS获取缓存文件的大小并清除缓存
- IOS获取缓存文件的大小并清除缓存文件的方法
- iOS计算缓存大小、清除缓存
- ioS 计算缓存和清除缓存
- iOS中显示获取缓存的大小多少M,点击清除缓存方法 (2016-03-03 12:12:01)
- iOS中显示获取缓存的大小多少M,点击清除缓存方法
- IOS中获取各种文件的目录路径的方法,清除沙盒缓存时,如何显示设备的总容量和可用容量
- iOS中的缓存计算和清除
- iOS 文件管理器(文件操作, 缓存计算, 清除缓存)
- IOS开发——ASIDownloadCache计算缓存大小&清除缓存
- ios开发计算缓存的大小以及清除
- iOS计算缓存文件大小, 和清除缓存功能
- IOS 之 计算缓存,清除缓存
- iOS计算缓存大小、清除缓存