美文网首页
磁盘缓存的计算与清理(1)

磁盘缓存的计算与清理(1)

作者: 估唔到 | 来源:发表于2016-10-24 02:26 被阅读89次

从事编程行业也有两年多,虽然文笔不好,但是还是一直想写些什么,但却不知从何下笔,拖延至今。刚好最近身边有朋友开始学iOS,被问了不少问题,决定把一些简单问题的思考过程整理一下,也顺便把手头做项目常用的一些小技巧和大家分享,希望对大家有些帮助,也希望能和大家一起探讨,共同进步。

这次分享的主要分为三个模块,

磁盘缓存的清理

封装思想和抽取

使用Block实现数据回传与优化

对于程序开发而言,磁盘缓存清理相信是每个开发人员必须面对的问题。其实OC中实现磁盘清理的方法有很多,下面这个方法是参照SDWebImage框架的思路写的,相对比较简单易懂。

首先,还是要先整理我们的思路,要做什么,怎么去做。要想清理的第一步,肯定是得要拿到缓存文件夹下的所有缓存文件。为了向用户展示数据,我们一般还需要计算缓存文件的大小,并把清理的操作权限交由用户管理。

具体思路如下

获取文件夹尺寸=>遍历文件夹所有文件,把文件尺寸累加

1.创建文件管理者

2.获取文件夹路径

3.获取文件夹里面所有子路径

4.遍历所有子路径

5.拼接文件全路径

6.使用attributesOfItemAtPath方法:指定文件全路径,就能获取文件属性

7.获取文件尺寸并累加

思路一旦清晰,后面的过程就比较简单

这样便可求出整个文件夹内文件的大小,不过为了避免误删别的文件夹或者隐藏文件,一般可以在遍历过程中,拼接完全路径后加入一个判断

有时候为了方便数据显示,还可以增加一些计算方法,直接拼接成字符串方便用于展示

最后便是数据的删除,这个过程的实现就比较简单,原则上是删除原有文件夹并创建一个新的

至此,磁盘缓存的计算与清理功能便已实现。下一篇将会带来《封装思想和抽取》

相关文章

  • 磁盘缓存的计算与清理(1)

    从事编程行业也有两年多,虽然文笔不好,但是还是一直想写些什么,但却不知从何下笔,拖延至今。刚好最近身边有朋友开始学...

  • SDWebImage清除缓存

    //清理缓存 [[SDImageCache sharedImageCache] clearDisk];//清理磁盘...

  • SDWebImage框架的基本使用

    基本使用 1)下载图片并显示(内存缓存&磁盘缓存) 2)下载图片显示并计算下载进度(内存缓存&磁盘缓存&下载进度)...

  • uniapp缓存计算、缓存清理

    计算缓存大小方法 清理缓存方法

  • iOS编程之缓存清除以及文件操作等

    1,SDWebImage图片缓存 这里简单讲解以下SDWebImage图片缓存大小计算以及清理缓存的方法 获取图片...

  • 内存高排查

    1 测试工具 清理系统缓存 dd 作为一个磁盘和文件的拷贝工具,经常被拿来测试磁盘或者文件系统的读写性能,模拟磁盘...

  • CentOS清理磁盘缓存

    在看服务器磁盘的时候发现: cache 占用太多了,清理一下 查看磁盘命令: 这里的h是一个计量单位,比如你可以默...

  • SDWebImage *底层探究 (二)

    图片加载: 1. SDImageCache 该类维护了一个内存缓存与一个可选的磁盘缓存. 同时, 磁盘缓存的写操作...

  • iOS开发-一句代码调用实现清理缓存功能

    iOS开发-清理缓存,将计算缓存,清理缓存封装成类方法,并将清理结果利用block方法实现返回,一键调用,轻松实现...

  • Glide缓存汇总

    Glide缓存汇总 1、Glide有内存缓存和磁盘缓存 2、缓存策略 3、内存缓存 4、磁盘缓存 5、缓存位置和大...

网友评论

      本文标题:磁盘缓存的计算与清理(1)

      本文链接:https://www.haomeiwen.com/subject/ofakuttx.html