清除缓存

// 得到缓存文件有多少兆

- (double)getCacheSize {

    // 1bit, 1b就是1110代表一个二进制位,bit是计算机存储的最小单位

    // 1个字节(Byte),即1B,就是8bit, 1Byte = 8bit,一般用Byte表示计算机存储的基本单位

    // 1个千字节(KB),1024Byte, 1024B,2^10个字节

    // 1个兆字节(M, MB, Megabytes),即1024个千字节,即2^10个千字节 1M = 2^10 KB = 2^20 B = 2^20*8 bit

    // 1个吉字节(G, GB, GigaByte),1024个兆字节,即2^10个兆字节

    // 1个太字节(T, TB, TeraByte),1024个吉字节,即2^10G字节

    // 1个拍字节(P, PB, PetaByte),1024T字节,即2^10T字节

    // 1个艾字节(E, EB, ExaByte),1024P字节,即2^10P字节

    // 1个泽它字节(Z, ZB, ZettaByte),1024E字节,即2^10E字节

    // 1个尧它字节(Y, YB, YaoitByte),1024Z字节,即2^10Z字节

    // 注意,换算方式也有以1000为单位的,所以一般的硬盘生产厂商采用1000为进制的换算,故有其报告的容量比硬盘标示的容量小的情况发生,没什么大惊小怪的

    

    // 获取缓存

    // SDWebImage自身下载图片有缓存

    // 我们自己的缓存

    

    SDImageCache *imageCache = [SDImageCachesharedImageCache];

    NSUInteger fileSize = [imageCache getSize]; // 以字节为单位

    NSLog(@"SD Cache: %lfM", fileSize/1024.0/1024.0);

    

    // 本地下载的缓存(我们自己搞的缓存)

    // 假设我们做了缓存,缓存地址为沙盒的Library/Caches/MyCaches注意,缓存路径随意,这里只是假设

    NSString *myCachePath = [NSHomeDirectory()stringByAppendingPathComponent:@"Library/Caches/MyCaches"];

    

    NSFileManager *fm = [NSFileManagerdefaultManager];

    

    // 获取指定文件信息

    NSDictionary *fileInfo = [fm attributesOfItemAtPath:myCachePath error:nil];

    NSLog(@"本地缓存字节:%llu", fileInfo.fileSize);

    

    // SD图片缓存加上我们自己的缓存

    fileSize += fileInfo.fileSize;

    

    // 以兆为单位返回

    return fileSize/1024.0/1024.0;

}



//文件或文件夹的计算

-(float)fileSizeAtPath:(NSString *)filePath

{

    NSFileManager *manager=[ NSFileManager defaultManager];

    if ([manager fileExistsAtPath:filePath]) {

        NSDictionary *dict= [manager attributesOfItemAtPath:filePath error:nil];

        return [dict fileSize ]/1024.0/1024.0;

    } else {

        return 0.0;

    }

}


-(float)folderSizeAtPath:(NSString *)folderPath

{

    NSFileManager *manager=[NSFileManager defaultManager];

    if ([manager fileExistsAtPath:folderPath]) {

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

        NSString *fileName;

        float folderSize = 0;

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

            NSString *fileAbsolutePath=[folderPath stringByAppendingPathComponent:fileName];

            folderSize+=[self fileSizeAtPath:fileAbsolutePath];

        }

        return folderSize;

    } else {

        return 0.0;

    }

}



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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值