缓存数据的获取
+ (NSString *)getCacheSize{
// 设置变量存储总缓存大小
long long sumSize = 0;
// 获取SDWebImage的缓存路径
NSString *cacheFilePath = [NSHomeDirectory() stringByAppendingPathComponent:@"Library/Caches/default/com.hackemist.SDWebImageCache.default"];
// 显示缓存路径
NSLog(@"缓存的路径 filePath %@", cacheFilePath);
// 创建文件管理对象
NSFileManager *fileManager = [NSFileManager defaultManager];
// 获取当前缓存路径下的所有子路径
NSArray *subChildPath = [fileManager subpathsOfDirectoryAtPath:cacheFilePath error:nil];
// 遍历所有子文件夹
for (NSString *subPath in subChildPath) {
// 拼接完整路径
NSString *path = [cacheFilePath stringByAppendingFormat:@"/%@", subPath];
// 计算文件大小
long long fileSize = [[fileManager attributesOfItemAtPath:path error:nil] fileSize];
// 将遍历的文件的大小加到总文件的大小
sumSize += fileSize;
}
//将数据转换为`M`为单位的数据
float size_m = sumSize / (1024 * 1024);
// 返回固定格式
return [NSString stringWithFormat:@"%.2fM", size_m];
}
缓存数据的删除
+ (void)removeCacheData{
// 获取SDWebImage缓存路径
NSString *cacheFilePath = [NSHomeDirectory() stringByAppendingPathComponent:@"Library/Caches/default/com.hackemist.SDWebImageCache.default"];
// 创建文件管理对象
NSFileManager *fileManager = [NSFileManager defaultManager];
// 删除路径下的所有文件
[fileManager removeItemAtPath:cacheFilePath error:nil];
return;
}
本文介绍了如何使用Objective-C获取和删除SDWebImage缓存。包括通过计算文件大小来获取缓存总量,并以MB为单位展示,以及如何清除指定路径下的所有缓存文件。
999

被折叠的 条评论
为什么被折叠?



