zoukankan      html  css  js  c++  java
  • 磁盘缓存的计算与清理(1)

    从事编程行业也有两年多,虽然文笔不好,但是还是一直想写些什么,但却不知从何下笔,拖延至今。刚好最近身边有朋友开始学iOS,被问了不少问题,决定把一些简单问题的思考过程整理一下,也顺便把手头做项目常用的一些小技巧和大家分享,希望对大家有些帮助,也希望能和大家一起探讨,共同进步。
     
         这次分享的主要分为三个模块,
    1. 磁盘缓存的清理
    2. 工具类的封装抽取
    3. 性能优化与使用Block实现数据回传
     
         对于程序开发而言,磁盘缓存清理相信是每个开发人员必须面对的问题。其实OC中实现磁盘清理的方法有很多,下面这个方法是参照SDWebImage框架的思路写的,相对比较简单易懂。
         首先,还是要先整理我们的思路,要做什么,怎么去做。要想清理的第一步,肯定是得要拿到缓存文件夹下的所有缓存文件。为了向用户展示数据,我们一般还需要计算缓存文件的大小,并把清理的操作权限交由用户管理。
     
    获取文件夹尺寸 => 遍历文件夹所有文件,把文件尺寸累加
        1.创建文件管理者
        2.获取文件夹路径
        3.获取文件夹里面所有子路径
        4.遍历所有子路径
        5.拼接 文件全路径
        6.使用attributesOfItemAtPath方法: 指定文件全路径,就能获取文件属性
        7.获取文件尺寸并累加
     
    思路一旦清晰,后面的过程就比较简单
     
         这样便可求出整个文件夹内文件的大小,不过为了避免误删别的文件夹或者隐藏文件,一般可以在遍历过程中,拼接完全路径后加入一个判断
     
     
    有时候为了方便数据显示,还可以增加一些计算方法,直接拼接成字符串方便用于展示 
     
    最后便是数据的删除,这个过程的实现就比较简单,原则上是删除原有文件夹并创建一个新的
     
    至此,磁盘缓存的计算与清理功能便已实现。
  • 相关阅读:
    CentOS7使用集群同步脚本对文件同步分发
    CentOS7安装jdk1.8
    CentOS7+CDH5.12.1集群搭建
    nginx通配符
    Nginx反向代理及配置
    一些好玩有用的书签
    linux操作小技巧锦集
    系统压测结果对比:tomcat/thinkphp/swoole/php-fpm/apache
    python修改linux日志(logtamper.py)
    【原创】给定随机数的取值范围(最小值、最大值),且要求多次取得的随机数最后的结果有一个固定的平均值
  • 原文地址:https://www.cnblogs.com/guwudao/p/6063333.html
Copyright © 2011-2022 走看看