您的位置:首页 > 移动开发 > IOS开发

iOS 计算应用缓存大小

2015-11-08 12:12 513 查看
我们的应用的缓存都存在caches文件夹下 一般的缓存指的是caches文件夹下的文件大小 以及使SDWebImage产生的图片缓存 下面是计算缓存的步骤

第一步 得到caches文件的路径

NSString *cachesPath = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) firstObject];


第二步 计算单个文件夹的大小

// 计算单个文件
- (float)fileSizeAtPath:(NSString *)path {
NSFileManager *fileManager = [NSFileManager defaultManager];
if ([fileManager fileExistsAtPath:path]) {
long long size = [fileManager attributesOfItemAtPath:path error:nil].fileSize;
return size/1024.0/1024.0;
}
return 0;
}


第三步 计算cahces文件下所有文件的大小以及SDWebImage产生的图片缓存的大小

// 计算目录大小
- (float)folderSizeAtPath:(NSString *)path {
NSFileManager *fileManager=[NSFileManager defaultManager];
float folderSize;
if ([fileManager fileExistsAtPath:path]) {
NSArray *childerFiles = [fileManager subpathsAtPath:path];
for (NSString *fileName in childerFiles) {
NSString *absolutePath = [path stringByAppendingPathComponent:fileName];
folderSize += [self fileSizeAtPath:absolutePath];
}
//SDWebImage框架自身计算缓存的实现
folderSize += [[SDImageCache sharedImageCache] getSize] /1024.0/1024.0;
// NSLog(@"%.2f", folderSize);
return folderSize;
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  ios 缓存 图片