清理app应用程序的缓存

#define CacheDirectory [NSSearchPathForDirectoriesInDomains(NSCachesDirectory,NSUserDomainMask,YES) objectAtIndex:0]//程序缓存目录


#pragma mark - 清理缓存

- (void)clearCache{

    dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{

        NSArray * files=[[NSFileManager defaultManager] subpathsAtPath:CacheDirectory];

        for (NSString * p in files) {

            NSError * error;

            NSString * path=[CacheDirectory stringByAppendingPathComponent:p];

            if ([[NSFileManager defaultManager] fileExistsAtPath:path]) {

                [[NSFileManager defaultManager] removeItemAtPath:path error:&error];

            }

        }

        [self performSelectorOnMainThread:@selector(clearCacheSuccess) withObject:nil waitUntilDone:YES];

    });

}


//返回多少M

 float m=[self folderSizeAtPath:CacheDirectory];

        cell.textLabel.text=[NSString stringWithFormat:@"     %@                                        %.2fM",[moreArray objectAtIndex:indexPath.row],m];



#pragma mark - 遍历文件夹获得文件夹大小 返回多少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);

}





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值