为什么80%的码农都做不了架构师?>>>   

1,获取路径并进行数据的拼接

//获取缓存
- (void)caculatorSize{NSString *cacheFilePath = [NSHomeDirectory() stringByAppendingPathComponent:@"Library/Caches"];NSFileManager* manager = [NSFileManager defaultManager];_manager = manager;if (![_manager fileExistsAtPath:cacheFilePath]){NSLog(@"Null");}NSEnumerator *childFilesEnumerator = [[_manager subpathsAtPath:cacheFilePath] objectEnumerator];NSString* fileName;_fileName = fileName;long long folderSize = 0;while ((_fileName = [childFilesEnumerator nextObject]) != nil){NSString* fileAbsolutePath = [cacheFilePath stringByAppendingPathComponent:_fileName];_fileAbsolutePath = fileAbsolutePath;folderSize += [[_manager attributesOfItemAtPath:fileAbsolutePath error:nil]fileSize];}CGFloat intg = [[SDImageCache sharedImageCache] getSize];CGFloat sum = folderSize + intg;NSString * currentVolum = [NSString stringWithFormat:@"%@",[self fileSizeWithInterge:sum]];_currentVolum = currentVolum;}

2,计算缓存,根据大小添加相应单位

//计算文件大小
- (NSString *)fileSizeWithInterge:(CGFloat)size{// 1k = 1024, 1m = 1024kif (size < 1024) {// 小于1kif (size <200){return [NSString stringWithFormat:@"%@B",@"0"];}return [NSString stringWithFormat:@"%ldB",(long)size];}else if (size < 1024 * 1024){// 小于1mCGFloat aFloat = size/1024;return [NSString stringWithFormat:@"%.0fK",aFloat];}else if (size < 1024 * 1024 * 1024){// 小于1GCGFloat aFloat = size/(1024 * 1024);return [NSString stringWithFormat:@"%.2fM",aFloat];}else{CGFloat aFloat = size/(1024*1024*1024);return [NSString stringWithFormat:@"%.1fG",aFloat];}
}

3,清除缓存

//清除缓存
- (void)cleanTheCaheForWebView{NSString *cacheFilePath = [NSHomeDirectory() stringByAppendingPathComponent:@"Library/Caches"];NSEnumerator *childFilesEnumerator = [[_manager subpathsAtPath:cacheFilePath] objectEnumerator];NSString *fileOne;while ((fileOne = [childFilesEnumerator nextObject]) != nil){NSString* fileAbsolutePath = [cacheFilePath stringByAppendingPathComponent:fileOne];//过滤掉不想清除的文件if ([fileAbsolutePath rangerOfString:@"JPUSH"].location != NSNotFound){}else{[_manager removeItemAtPath:fileAbsolutePath error:nil];}}}

转载于:https://my.oschina.net/Kuture/blog/733013

iOS 缓存的获取计算与清除归零相关推荐

  1. ios html清除缓存,iOS开发之1行代码实现缓存计算及清除缓存

    话不多说,直接撸代码 // // gzhCache.h // cache // // Created by 郭志贺 on 2020/5/27. // Copyright © 2020 郭志贺. All ...

  2. iOS 是如何获取夜间模式启动图缓存路径?

    Python实战社群 Java实战社群 长按识别下方二维码,按需求添加 扫码关注添加客服 进Python社群▲ 扫码关注添加客服 进Java社群▲ 作者丨酷酷的哀殿 来源丨酷酷的哀殿的博客 https ...

  3. ios、安卓微信中如何清除聊天记录外的缓存

    最近公司有一个关于微信页面缓存的问题,就是发布的h5静态网页总不是当天最新的电子报数据,修改后,发现js文件没有更新,手机端还是用的旧的,然后就有了如何清除缓存的问题. IOS端好清理,步骤为: [设 ...

  4. iOS 缓存框架YYCache学习

    文章目录 前言 一.YYCache的来源 二.YYCache的结构 1. YYMemoryCache 1.1 最近最少使用-LRU(Least Frequently Used) 1.2 基于LRU的增 ...

  5. 解决uniapp ios手机端获取时间戳出现NAN

    在做手机端app时,iOS测试发现获取时间戳一直显示NAN; 最简单的方法分享给大家 **new Date(item.time.replace(/-/g, '/')).getTime()**兼容And ...

  6. ios ReplayKit RPScreenRecorder获取屏幕录制的每一帧数据startCaptureWithHandler

    ios ReplayKit RPScreenRecorder获取屏幕录制的每一帧数据startCaptureWithHandler 获取帧数据接口: (void)startCaptureWithHan ...

  7. iOS缓存设计(YYCache思路)

    iOS缓存设计(YYCache思路) 前言: 前段时间业务有缓存需求,于是结合YYCache和业务需求,做了缓存层(内存&磁盘)+ 网络层的方案尝试 由于YYCache 采用了内存缓存和磁盘缓 ...

  8. 【EventBus】事件通信框架 ( 订阅方法注册 | 检查订阅方法缓存 | 反射获取订阅类中的订阅方法 )

    文章目录 一.检查订阅方法缓存 二.反射获取订阅类中的订阅方法 三.完整代码示例 一.检查订阅方法缓存 注册订阅者时 , 只传入一个订阅者类对象 , 其它信息都需要通过反射获取 ; 1. 获取订阅者类 ...

  9. ios使用KeyChain获取唯一不变的udid

    本文是iOS7系列文章第一篇文章,主要介绍使用KeyChain保存和获取APP数据,解决iOS7上获取不变UDID的问题.并给出一个获取UDID的工具类,使用方便,只需要替换两个地方即可. 一.iOS ...

最新文章

  1. 数组去重,ES6数组去重 new Set()
  2. oracle report builder 6i下载,oracle report builder 6i - 数据模型中的SQL查询代码
  3. ubuntu14.04安装linux公社,Ubuntu 14.04下安装IT++
  4. 【转】什么是staging server
  5. Linux 上 docker 安装 oracle-xe-11g
  6. CSS:盒子模型和清除float浮动的三种常用方法
  7. aba会导致问题_ABA问题
  8. 拒绝经验过剩,“程序员的工作只能是代码”?
  9. SVN Description : The working copy is locked due to a previous error.
  10. C语言经典面试题100道(校对详解版)
  11. 抖音数据统计_抖音大数据,抖音最全数据分析工具,全知道算你厉害!
  12. balser相机IP设置
  13. cwRsync-windows下的rsync工具
  14. Excel中Sheet(s)和Worksheet(s)的区别
  15. android基于蓝牙实验,基于Android系统蓝牙开发的探究与实现.pdf
  16. java编程好学么_零基础小白学Java编程好学吗
  17. UE4 射击类游戏 手机端视角随触摸改变方法
  18. RHCE7-NOTE(红帽工程师--题库详细笔记)
  19. 程序员为什么要时刻保持危机感?
  20. 对PCIE设备访问及其配置空间的一点理解

热门文章

  1. Vagrant 手册之 Provisioning - 基本用法
  2. 洛谷——P2068 统计和
  3. JavaScript技巧[转载]
  4. Android GridView属性集合
  5. 烽火MAS短信服务器配置相关
  6. 浅谈MySql的存储引擎(表类型)
  7. 永远太远,是时候离开了
  8. ubuntu12.04 android studio 安装
  9. 屏蔽Idea中不合理的提示警告
  10. spark的rdd的含义_Spark里边:到底是什么RDD