zoukankan      html  css  js  c++  java
  • iOS清理缓存 2016-04-19

    //计算缓存文件的大小
    - (NSString *)getCacheSize
    {
        //定义变量存储总的缓存大小
        long long sumSize = 0;
       
        //01.获取当前图片缓存路径
        NSString *cacheFilePath = [NSHomeDirectory() stringByAppendingPathComponent:@"Library/Caches"];
       
        //02.创建文件管理对象
        NSFileManager *filemanager = [NSFileManager defaultManager];
       
        //获取当前缓存路径下的所有子路径
        NSArray *subPaths = [filemanager subpathsOfDirectoryAtPath:cacheFilePath error:nil];
       
        //遍历所有子文件
        for (NSString *subPath in subPaths) {
            //1).拼接完整路径
            NSString *filePath = [cacheFilePath stringByAppendingFormat:@"/%@",subPath];
            //2).计算文件的大小
            long long fileSize = [[filemanager attributesOfItemAtPath:filePath error:nil]fileSize];
            //3).加载到文件的大小
            sumSize += fileSize;
        }
        float size_m =((float)sumSize)/(1024*1024);
        return [NSString stringWithFormat:@"%.2fM",size_m];
       
    }

    //清理缓存
    -(void)myClearCacheAction{
        dispatch_async(
                       dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0)
                       , ^{
                           NSString *cachPath = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) objectAtIndex:0];
                           NSArray *files = [[NSFileManager defaultManager] subpathsAtPath:cachPath];
                           NSLog(@"files :%lu",(unsigned long)[files count]);
                           for (NSString *p in files) {
                               NSError *error;
                               NSString *path = [cachPath stringByAppendingPathComponent:p];
                               if ([[NSFileManager defaultManager] fileExistsAtPath:path]) {
                                   [[NSFileManager defaultManager] removeItemAtPath:path error:&error];
                               }
                           }
                           [self performSelectorOnMainThread:@selector(clearCacheSuccess) withObject:nil waitUntilDone:YES];});
    }

    -(void)clearCacheSuccess
    {
        [self hiddenHUD];
        [self showTips:@"清除数据成功!"];
        [self.tableView reloadData];
    }
  • 相关阅读:
    使用servletContext和类加载器加载文件
    servletConfig和servletContext的应用
    java中的正则表达式(一)
    servlet的生命周期
    servlet的基本原理
    java中类加载机制
    java中的动态代理(三)
    Navicat Premium 连接Oracle 数据库
    使用SqlServer2005 Service Broker 和 SqlDependency类提供数据更改的通知
    WebService简单使用
  • 原文地址:https://www.cnblogs.com/cfl911014/p/5408122.html
Copyright © 2011-2022 走看看