- (void)viewDidLoad {[super viewDidLoad];UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];button.frame = CGRectMake(100, 100, 100, 100);[button setTitle:@"清理缓存" forState:UIControlStateNormal];[button setTitleColor:[UIColor cyanColor] forState:UIControlStateNormal];button.layer.cornerRadius = 5;button.layer.masksToBounds = YES;[button addTarget:self action:@selector(clearCache) forControlEvents:UIControlEventTouchUpInside];[self.view addSubview:button];
}#pragma mark -检查缓存
- (void)clearCache{NSString *path = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) lastObject];NSFileManager *fileManager=[NSFileManager defaultManager];float folderSize;if ([fileManager fileExistsAtPath:path]) {//拿到算有文件的数组NSArray *childerFiles = [fileManager subpathsAtPath:path];//拿到每个文件的名字,如有有不想清除的文件就在这里判断for (NSString *fileName in childerFiles) {//将路径拼接到一起NSString *fullPath = [path stringByAppendingPathComponent:fileName];folderSize += [self fileSizeAtPath:fullPath];}self.alertView = [[UIAlertView alloc] initWithTitle:@"清理缓存" message:[NSString stringWithFormat:@"缓存大小为%.2fM,确定要清理缓存吗?", folderSize] delegate:self cancelButtonTitle:@"取消" otherButtonTitles:@"确定", nil];[self.alertView show];self.alertView.delegate = self;}
}//计算单个文件夹的大小
-(float)fileSizeAtPath:(NSString *)path{NSFileManager *fileManager=[NSFileManager defaultManager];if([fileManager fileExistsAtPath:path]){long long size=[fileManager attributesOfItemAtPath:path error:nil].fileSize;return size/1024.0/1024.0;}return 0;
}#pragma mark -弹框- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
{if (buttonIndex) {//点击了确定,遍历整个caches文件,将里面的缓存清空NSString *path = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) lastObject];NSFileManager *fileManager=[NSFileManager defaultManager];if ([fileManager fileExistsAtPath:path]) {NSArray *childerFiles=[fileManager subpathsAtPath:path];for (NSString *fileName in childerFiles) {//如有需要,加入条件,过滤掉不想删除的文件NSString *absolutePath=[path stringByAppendingPathComponent:fileName];[fileManager removeItemAtPath:absolutePath error:nil];}}}self.alertView = nil;
}

iOS APP缓存清理相关推荐

  1. Android 手机app缓存清理实现

    前言 说道Android app清理缓存,那就要先了解缓存在哪个地方,以及如何去获取到缓存路径,和清理这个路径中的缓存. 需要提前了解的知识 系统文件(注:这个是系统的文件系统,不允许修改的) 内置S ...

  2. 【记录】iOS网络缓存清理

    1.URL [[NSURLCache sharedURLCache] removeAllCachedResponses]; 2.WKWebView NSSet *websiteDataTypes = ...

  3. uniapp 实现APP设置获取缓存清理缓存

    uniapp 实现APP设置获取缓存清理缓存 公司需要开发一款app 功能有在设置里显示缓存 以及清理缓存功能 实现方式 如下 页面效果如下 获取本机缓存 <view class="i ...

  4. uni-app app清除app缓存,使用一段时间app数据图片等缓存清理,记录一下

    uni-app  app清除本地的缓存,app使用一段时间缓存数据导致app卡顿,清理缓存 记录一下操作 设置里面有清理缓存按钮,点击按钮清除缓存 export default {components ...

  5. ios html清除缓存图片,iOS,如何清理缓存的图片

    通常,在我们加载图片的时候,一般都会做缓存处理,像SDWebImage,YYWebImage都是有的,但是有缓存,当然也需要清理缓存,如果没有这个功能的话,显得app太没人性化. 获取总的缓存大小 / ...

  6. iOS常用方法——WKWebView缓存清理的实现

    WKWebView是iOS8之后出现的,相较于UIWebView,WKWebView占用的内存更小,还有一些其他的优化.但是如果我们不去主动清理webView产生的缓存,两者都会存在缓存这个问题.比如 ...

  7. Android APP存储路径和缓存清理规范

    1. Android APP统一存储数据规范 基于Android系统对存储卡访问的各种特性,在充分保证基线的产品交互体验前提下,定义Android APP各业务开发中的可选存储路径,对应存储特性,各自 ...

  8. iOS App清除缓存

    缓存 在我们App使用过程中,都会相应的请求网络资源,获取到图片,视频等等资源,并相应地做了缓存等的操作,来使我们的App使用体验更加流程.典型的例子,我们的App中很多都用到了SDWebImage来 ...

  9. ios APP性能检测

    转载至:Bugly 首先,要明确性能检测都需要关注哪些指标,笔者列举了以下几个主要的,后面会详细说: 启动时间 内存占用量,内存告警次数 CPU使用率 页面渲染时间,刷新帧率 网络请求时间,流量消耗 ...

最新文章

  1. 关于数据库,你可能最想知道的几件事
  2. bzoj异或之[查询异或和的第k小]
  3. Hashtable的遍历
  4. redis链表link命令
  5. 一步一步学习PHP(2)——PHP类型
  6. 网站SEO优化的高效手段有哪些?
  7. SAP Spartacus 中 Angular json pipe 的工作原理
  8. 信用卡还不起会有什么严重后果?
  9. java如何实取随机数_java - 如何在Kotlin中获取随机数?
  10. 为什么程序员对旧代码深恶痛绝?
  11. AMD CPU驱动被曝漏洞,可使 KASLR崩溃、密码泄露
  12. 用pcl读ply文件_一分钟详解PCL中点云配准技术
  13. 微信公众号定位显示EC-01G模组+STM32F103
  14. 贴片电容的命名规则和参数解释
  15. 【SEED Labs 2.0】ICMP Redirect Attack Lab
  16. Win10右下角提示“已禁用IME”的多种解决方法汇总
  17. springboot 官网首页
  18. 腾讯qlv格式转换mp4为何转换后只有音频
  19. VGA\HDMI转换芯片——MS9288C
  20. 2013计算机学科排名,2013年美国大学排名计算机专业排名情况

热门文章

  1. C# async/awit 嵌套异步 执行顺序 分析
  2. 今天收到阿里巴巴一个电话面试
  3. 数据库专题训练------触发器
  4. 标准信息公共服务:某市标准技术研究院数据治理项目
  5. 解决M1芯片Mac安装PS2021卡启动页问题,M1芯片Mac安装PS2021和PS2020教程!
  6. jmeter 计数器_JMeter - 用户定义的计数器不会为循环递增
  7. 嵌入式GUI开发:简易版王者荣耀登录器
  8. 你查看的网页正在试图关闭选项卡
  9. Object 类的强制转换
  10. 安卓AccessibilityService实现蚂蚁森林自动收集能量 最新 多线程 + 手势 + 深搜webView