SDWebImage手动清除缓存的方法(转载)

1.找到SDImageCache类2.添加如下方法:

- (float)checkTmpSize  
{  
    float totalSize = 0;  
    NSDirectoryEnumerator *fileEnumerator = [[NSFileManager defaultManager] enumeratorAtPath:diskCachePath];  
    for (NSString *fileName in fileEnumerator)  
    {  
        NSString *filePath = [diskCachePath stringByAppendingPathComponent:fileName];  
  
        NSDictionary *attrs = [[NSFileManager defaultManager] attributesOfItemAtPath:filePath error:nil];  
  
        unsigned long long length = [attrs fileSize];  
  
        totalSize += length / 1024.0 / 1024.0;  
    }  
//    NSLog(@"tmp size is %.2f",totalSize);  
  
    return totalSize;  
}  

新版的SDImageCache类,已增加此方法

[[SDImageCache sharedImageCache] getSize];  

3.在设置里这样使用

#pragma 清理缓存图片  
  
- (void)clearTmpPics  
{  
    [[SDImageCache sharedImageCache] clearDisk];  
  
//    [[SDImageCache sharedImageCache] clearMemory];//可有可无  
  
    DLog(@"clear disk");      
  
    float tmpSize = [[SDImageCache sharedImageCache] checkTmpSize];  
  
    NSString *clearCacheName = tmpSize >= 1 ? [NSString stringWithFormat:@"清理缓存(%.2fM)",tmpSize] : [NSString stringWithFormat:@"清理缓存(%.2fK)",tmpSize * 1024];  
  
    [configDataArray replaceObjectAtIndex:2 withObject:clearCacheName];  
  
    [configTableView reloadData];  
}  
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1.找到SDImageCache类 2.计算缓存大小的方法: -(NSUInteger)getSize{ __bl...
    陈世美_阅读 7,534评论 0 3
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,273评论 19 139
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 177,170评论 25 709
  • 1、《我是爱你的》 就在每天 我矗立在夏与秋更替的瞬间 等到温柔的呢喃跑走 就不用唤醒耳边的小情诗 切入夜的腹部 ...
    胡识阅读 9,532评论 40 65
  • 据说我家祖上也曾显赫过,也有几进的院子上百亩地,只是后来我太爷爷抽上了大烟,这才败了家,落得卖儿卖女,自己也没了下...
    明渠映月阅读 2,701评论 1 2

友情链接更多精彩内容