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

关于SDWebImage缓存问题

2015-11-10 14:29 316 查看
使用SDWebImage 请求图片数据,会产生相应的缓存

//这是用于显示缓存大小

调用方法:[self filePath];   即可获得当前缓存大小

// 显示缓存大小
- ( float )filePath

{
    
    NSString * cachPath = [NSSearchPathForDirectoriesInDomains (NSCachesDirectory
, NSUserDomainMask ,YES )firstObject ];
    
    return [selffolderSizeAtPath :cachPath];
    
}

//1:首先我们计算一下单个文件的大小
- ( longlong ) fileSizeAtPath:(NSString *) filePath{
    
    NSFileManager * manager = [NSFileManagerdefaultManager ];
    
    if ([managerfileExistsAtPath :filePath]){
        
        return [[managerattributesOfItemAtPath :filePatherror :
nil ]fileSize ];
        
    }
    
    return0 ;
    
}

//2: 遍历文件夹获得文件夹大小,返回多少 M(提示:你可以在工程界设置()m)

- ( float ) folderSizeAtPath:(NSString *) folderPath{
    
    NSFileManager * manager = [NSFileManagerdefaultManager ];
    
    if (![managerfileExistsAtPath :folderPath])return
0 ;
    
    NSEnumerator *childFilesEnumerator = [[managersubpathsAtPath :folderPath]objectEnumerator
];
    
    NSString * fileName;
    
    longlong folderSize =0 ;
    
    while ((fileName = [childFilesEnumeratornextObject ]) !=nil ){
        
        NSString * fileAbsolutePath = [folderPathstringByAppendingPathComponent :fileName];
        
        folderSize += [ selffileSizeAtPath :fileAbsolutePath];
        
    }
    
    return folderSize/(1024.0 *1024.0 );
    
}

//清理缓存调用的方法

 //清理缓存
            [[SDImageCachesharedImageCache]clearDisk];//清理磁盘
            
            [[SDImageCachesharedImageCache]clearMemory];//清理内存
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  ios 缓存 SDWebImage