SDImageCache清除缓存

本文介绍如何使用SDImageCache类检查和清理iOS应用中的图片缓存。通过自定义方法checkTmpSize来计算缓存大小,并提供clearTmpPics方法来清除磁盘缓存。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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. }  



转载于:https://my.oschina.net/fadoudou/blog/508148

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值