关于SDWebImage缓存问题

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


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


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

// 显示缓存大小

- ( float )filePath


{

    

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

    

    return [selffolderSizeAtPath :cachPath];

    

}




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

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

    

    NSFileManager * manager = [NSFileManagerdefaultManager ];

    

    if ([managerfileExistsAtPath :filePath]){

        

        return [[managerattributesOfItemAtPath :filePatherror : nil ]fileSize ];

        

    }

    

    return0 ;

    

}


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


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

    

    NSFileManager * manager = [NSFileManagerdefaultManager ];

    

    if (![managerfileExistsAtPath :folderPath])return 0 ;

    

    NSEnumerator *childFilesEnumerator = [[managersubpathsAtPath :folderPath]objectEnumerator ];

    

    NSString * fileName;

    

    longlong folderSize =0 ;

    

    while ((fileName = [childFilesEnumeratornextObject ]) !=nil ){

        

        NSString * fileAbsolutePath = [folderPathstringByAppendingPathComponent :fileName];

        

        folderSize += [ selffileSizeAtPath :fileAbsolutePath];

        

    }

    

    return folderSize/(1024.0 *1024.0 );

    

}


//清理缓存调用的方法

 //清理缓存

            [[SDImageCachesharedImageCache]clearDisk];//清理磁盘

            

            [[SDImageCachesharedImageCache]clearMemory];//清理内存






你可能感兴趣的:(iOS)