iOS App占用太多磁盘空间

问题:随着App的不断运行,发现所占磁盘空间越来越大

分析:应该是网络下载中的缓存,包括利用SDWebImage产生的、和下载单个文件被取消后的缓存

验证:查看App目录中的Tmp(系统存放未下载完成的文件的缓存的地方),cache(SDWebImage 存放缓存的地方)

如上图,下载文件缓存有374M;如下图,SDWebImageCache有20M

最后附上检测文件大小的方法

- (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);
}

- (NSString *)TmpPathDirectory {
    return NSTemporaryDirectory();
}

- (NSString *)cachePathDirectory {
    NSArray*paths = NSSearchPathForDirectoriesInDomains(NSCachesDirectory,NSUserDomainMask,YES);
    NSString *path = [paths objectAtIndex:0];
    return path;
}

 

posted @ 2016-07-14 14:42  星红  阅读(1873)  评论(0编辑  收藏  举报