iOS缓存

来源:互联网 发布:试点网络学校基础 编辑:程序博客网 时间:2024/04/29 18:14
//缓存路径    NSArray * paths = NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES);    self.cachePath = [[paths objectAtIndex:0] stringByAppendingFormat:@"/Caches"];//获取缓存大小的方法    + (float)fileSizeAtPath:(NSString *)path{    NSFileManager *fileManager=[NSFileManager defaultManager];    if([fileManager fileExistsAtPath:path]){        long long size=[fileManager attributesOfItemAtPath:path error:nil].fileSize;        return size/1024.0/1024.0;    }    return 0;}+ (float)folderSizeAtPath:(NSString *)path{    NSFileManager *fileManager=[NSFileManager defaultManager];    float folderSize;    if ([fileManager fileExistsAtPath:path]) {        NSArray *childerFiles=[fileManager subpathsAtPath:path];        for (NSString *fileName in childerFiles) {            NSString *absolutePath=[path stringByAppendingPathComponent:fileName];            folderSize +=[self fileSizeAtPath:absolutePath];        }        //SDWebImage框架自身计算缓存的实现        folderSize+=[[SDImageCache sharedImageCache] getSize]/1024.0/1024.0;        return folderSize;    }    return 0;}//清除缓存的方法+ (void)clearCache:(NSString *)path{    NSFileManager *fileManager=[NSFileManager defaultManager];    if ([fileManager fileExistsAtPath:path]) {        NSArray *childerFiles=[fileManager subpathsAtPath:path];        for (NSString *fileName in childerFiles) {            //如有需要,加入条件,过滤掉不想删除的文件            NSString *absolutePath=[path stringByAppendingPathComponent:fileName];            [fileManager removeItemAtPath:absolutePath error:nil];        }    }    [[SDImageCache sharedImageCache] cleanDisk];}
1 0
原创粉丝点击