图片缓存计算以及清理
SDWebImage缓存的相关操作主要通过SDImageCache这个类控制
// 单例形式存在
SDImageCache * cache = [SDImageCache sharedImageCache];
double imgeCache = [[SDImageCache sharedImageCache] getSize];
imgeCache += [self getLogFileSize];
///换算成MB结尾的数据量单位
double theCache = imgeCache/1024.0/1024.0;
///清除掉图片的缓存
[[SDImageCache sharedImageCache] clearDiskOnCompletion:^{
[MBProgressHUD hideHUD];
[MBProgressHUD showSuccess:@"清除成功"];
}];
- (long)getLogFileSize {
long fileSize = 0;
NSFileManager *manager = [NSFileManager defaultManager];
NSError *error = nil;
NSArray *contents = [manager contentsOfDirectoryAtPath:[NSString stringWithFormat:@"%@/Documents",NSHomeDirectory()] error:&error];
if (error) {
return fileSize;
}
for (NSString *fileName in contents) {
if ([fileName hasSuffix:@".log"]) {
NSString *filePath = [NSString stringWithFormat:@"%@/Documents/%@",NSHomeDirectory(),fileName];
fileSize += [[[manager attributesOfItemAtPath:filePath error:nil] objectForKey:NSFileSize] longValue];
}
}
return fileSize;
}
删除当前的文件缓存
- (void)deleteLogFiles{
NSFileManager *manager = [NSFileManager defaultManager];
NSError *error = nil;
NSArray *contents = [manager contentsOfDirectoryAtPath:[NSString stringWithFormat:@"%@/Documents",NSHomeDirectory()] error:&error];
if (error) {
return;
}
for (NSString *fileName in contents) {
if ([fileName hasSuffix:@".log"]) {
NSString *filePath = [NSString stringWithFormat:@"%@/Documents/%@",NSHomeDirectory(),fileName];
[manager removeItemAtPath:filePath error:nil];
}
}
}
///其他的log文件的缓存大小