zoukankan      html  css  js  c++  java
  • iOS学习之清除SDWebImage产生的缓存

    使用SDWebImage 请求图片数据,会产生相应的缓存

    //这是用于显示缓存大小

    调用方法:[self filePath];   即可获得当前缓存大小

    // 显示缓存大小

    - ( float )filePath

     

    {

        

        NSString * cachPath = [ NSSearchPathForDirectoriesInDomains ( NSCachesDirectory , NSUserDomainMask , YES ) firstObject ];

        

        return [ self folderSizeAtPath :cachPath];

        

    }

     

     

     

    //1:首先我们计算一下 单个文件的大小

    - ( long long ) fileSizeAtPath:( NSString *) filePath{

        

        NSFileManager * manager = [ NSFileManager defaultManager ];

        

        if ([manager fileExistsAtPath :filePath]){

            

            return [[manager attributesOfItemAtPath :filePath error : nil ] fileSize ];

            

        }

        

        return 0 ;

        

    }

     

    //2: 遍历文件夹获得文件夹大小,返回多少 M(提示:你可以在工程界设置()m

     

    - ( float ) folderSizeAtPath:( NSString *) folderPath{

        

        NSFileManager * manager = [ NSFileManager defaultManager ];

        

        if (![manager fileExistsAtPath :folderPath]) return 0 ;

        

        NSEnumerator *childFilesEnumerator = [[manager subpathsAtPath :folderPath] objectEnumerator ];

        

        NSString * fileName;

        

        long long folderSize = 0 ;

        

        while ((fileName = [childFilesEnumerator nextObject ]) != nil ){

            

            NSString * fileAbsolutePath = [folderPath stringByAppendingPathComponent :fileName];

            

            folderSize += [ self fileSizeAtPath :fileAbsolutePath];

            

        }

        

        return folderSize/( 1024.0 * 1024.0 );

        

    }

     

    //清理缓存调用的方法

     

     //清理缓存

                [[SDImageCache sharedImageCache] clearDisk];//清理磁盘

                

                [[SDImageCache sharedImageCache] clearMemory];//清理内存

  • 相关阅读:
    cocos2dx触摸响应
    MFC注册热键
    隐式类型转换
    virtualbox导入winXP系统OVA文件重启
    virtualbox虚拟机下的cdlinux找不到无线网卡的解决方法
    批处理,修改环境变量path的方法(加环境变量)
    什么是堆和栈,它们在哪儿?
    ON_WM_TIMER() void (__cdecl xx::* )(UINT)”转换为“void (__cdecl CWnd::* )(UINT_PTR)
    读书笔记:《你的知识需要管理》
    linux系统管理-软件包管理
  • 原文地址:https://www.cnblogs.com/maojunjun/p/4966985.html
Copyright © 2011-2022 走看看