美文网首页
SDWebImage缓存数据的获取/删除

SDWebImage缓存数据的获取/删除

作者: 码农小白 | 来源:发表于2016-07-20 17:59 被阅读73次

缓存数据的获取

+ (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;
}

相关文章

网友评论

      本文标题:SDWebImage缓存数据的获取/删除

      本文链接:https://www.haomeiwen.com/subject/sjgvjttx.html