SDImageCache清除缓存

1.找到SDImageCache类

2.添加如下方法:

[objc] view plaincopy

  1. - (float)checkTmpSize  

  2. {  

  3.     float totalSize = 0;  

  4.     NSDirectoryEnumerator *fileEnumerator = [[NSFileManager defaultManager] enumeratorAtPath:diskCachePath];  

  5.     for (NSString *fileName in fileEnumerator)  

  6.     {  

  7.         NSString *filePath = [diskCachePath stringByAppendingPathComponent:fileName];  

  8.   

  9.         NSDictionary *attrs = [[NSFileManager defaultManager] attributesOfItemAtPath:filePath error:nil];  

  10.   

  11.         unsigned long long length = [attrs fileSize];  

  12.   

  13.         totalSize += length / 1024.0 / 1024.0;  

  14.     }  

  15. //    NSLog(@"tmp size is %.2f",totalSize);  

  16.   

  17.     return totalSize;  

  18. }  


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

[objc] view plaincopy

  1. [[SDImageCache sharedImageCache] getSize];  


3.在设置里这样使用

[objc] view plaincopy

  1. #pragma 清理缓存图片  

  2.   

  3. - (void)clearTmpPics  

  4. {  

  5.     [[SDImageCache sharedImageCache] clearDisk];  

  6.   

  7. //    [[SDImageCache sharedImageCache] clearMemory];//可有可无  

  8.   

  9.     DLog(@"clear disk");      

  10.   

  11.     float tmpSize = [[SDImageCache sharedImageCache] checkTmpSize];  

  12.   

  13.     NSString *clearCacheName = tmpSize >= 1 ? [NSString stringWithFormat:@"清理缓存(%.2fM)",tmpSize] : [NSString stringWithFormat:@"清理缓存(%.2fK)",tmpSize * 1024];  

  14.   

  15.     [configDataArray replaceObjectAtIndex:2 withObject:clearCacheName];  

  16.   

  17.     [configTableView reloadData];  

  18. }  



你可能感兴趣的:(SDImageCache清除缓存)