XZ_iOS中清除缓存的实现
来源:互联网 发布:左程云 算法视频 下载 编辑:程序博客网 时间:2024/05/21 09:23
清除缓存的两种实现方式
计算缓存的大小,然后清除缓存分两种:1>图片缓存;2>cache文件夹中的缓存。
1>对于清除图片缓存:SDWebImage就可以做到。
// 计算文件大小
NSUInteger imageSize = [SDImageCachesharedImageCache].getSize;
// 进行单位转换:将byte转成M
double byteSize = imageSize / 1000.0 / 1000.0;
// 清除缓存
// 清除过期缓存
// [[SDImageCache sharedImageCache] cleanDisk];
// 清除所有图片缓存
[[SDImageCachesharedImageCache]clearDisk];
2>cache文件夹中的缓存:使用文件管理者计算缓存大小,然后清除缓存的文件夹实现的思路是:文件夹没有大小属性,只有文件有大小属性。遍历每一个文件夹中的文件,将每一个文件的大小加起来,得到的就是cache文件夹的大小。
//文件管理者
NSFileManager *mgr = [NSFileManagerdefaultManager];
// 缓存的路径
NSString *caches =[NSSearchPathForDirectoriesInDomains(NSCachesDirectory,NSUserDomainMask,YES)lastObject];
// 获取所有的子路径
NSArray *subpaths = [mgr subpathsAtPath:caches];
// 文件的总的字节数
NSInteger totalByteSize = 0;
for (NSString *subpathin subpaths) {
// 子路径的全路径
NSString *fullSubpath = [caches stringByAppendingPathComponent:subpath];
// 判断是不是文件
BOOL dir = NO;
[mgr fileExistsAtPath:fullSubpath isDirectory:&dir];
if (dir == NO) { // 文件
totalByteSize += [[mgr attributesOfItemAtPath:fullSubpatherror:nil][NSFileSize]integerValue];
}
}
// 删除caches文件夹中的所有内容
[mgr removeItemAtPath:cacheserror:nil];
- XZ_iOS中清除缓存的实现
- XZ_iOS之实现离线缓存
- XZ_iOS中推送通知~本地推送通知的实现
- [Android]应用中实现清除缓存的功能
- [Android]应用中实现清除缓存的功能
- iOS中设置清除缓存功能的实现方法
- 过滤器的实现(清除缓存)
- 清除缓存---更多页面的实现
- XZ_iOS之自定义弹幕的实现
- SDWebImage 中简单的清除缓存
- 清除项目中缓存的数据
- 清除WebSphere中缓存
- OC中清除缓存
- 清除UIWebView的缓存
- 清除UIWebView的缓存
- 清除UIWebView的缓存
- 清除浏览器的缓存
- 清除UIWebView的缓存
- hdu2255奔小康赚大钱 KM算法
- Java——FileInputStream&FileOutputStream字节流实现文件复制
- java代码写xml文件
- Example_java_测试
- 链表输出指定位置的值
- XZ_iOS中清除缓存的实现
- tcp短连接TIME_WAIT问题解决方法大全(2)——SO_LINGER
- android 的jpush极光推送
- 给一个控制器的view设置背景图片
- 寒假笔记——java
- js中的caller和callee
- LeetCode 3.Longest Substring Without Repeating Characters
- 利用Photoshop进行快速切图
- 灯光师小明