iOS项目里面如何清理缓存

在正式讲解以前,请先看一下以下图片,在以下这款APP种设有清理缓存,开始我以为很复杂,在弄明白之后,其实就是几句代码就解决了。

    

在实际项目开发中,我们很多的文件都会缓存在沙盒里面,比如:照片。所以设置有清理缓存按钮可以为APP瘦身。也就是说,清理缓存实践上就是清理沙盒目录里面的文件。

具体怎么实现请看代码:

1  NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
2     //沙盒的Document目录
3     NSString *path = [paths objectAtIndex:0];
4     NSLog(@"%@",path);//输出沙盒路径
5     NSFileManager *filemanger = [NSFileManager defaultManager];//创建文件管理器
6  [filemanger removeItemAtPath:path error:nil];//删除路径里面的文件

开始我以为上面写的缓存大小是真的,可是看了代码才知道。。。

1 //    获取文件路径
2     cachPath= [NSSearchPathForDirectoriesInDomains(NSCachesDirectory,NSUserDomainMask, YES) objectAtIndex:0];
3     
4     files= [[NSFileManager defaultManager] subpathsAtPath:cachPath];
5     
6     caches=[NSString stringWithFormat:@"缓存大小为%0.2fM,您确定要清理吗",(float)([files count])/30];

从代码容易看出它是用文件个数除以30来输出的缓存大小😢。当缓存文件大于0时,就可以调用 removeItemAtPath的方法来清理缓存了。

 

posted on 2015-10-09 21:25  popper小P  阅读(1545)  评论(0编辑  收藏  举报