iOS 清除缓存

在我们开发app的过程中,都会涉及到一个问题,那就是清除缓存,我们都知道,随着应用使用频率的增加,程序cache的体积也会增大,因此就需要不定时的清除缓存,节省内存空间。说到缓存必然会涉及到沙盒机制,有不清楚的大家可以移步百度,这里就不多说了。下面我们开始步入正题

清除缓存的第一步就是要获取应用的缓存路径:

获取cache路径

因为我们是从缓存里取,所以NSSearchPathDirectory选cache,NSSearchPathDomainMask选择uesr是从用户个人的目录下取,NSSearchPathForDirectoriesInDomains返回的是一个数组,所以我们取它的第一个元素。

第二步:获取cache文件夹下所有子文件的路径,并计算出文件大小。首先,我们通过NSFileManager获取cache文件夹下的所有子路径:

然后遍历数组,获取子路径下的子路径,并且将子路径的目录拼接成完整路径,这里有一点要说明,因为我们获取的是文件夹下文件的大小而不包括文件夹,所以我们这里需要去掉文件夹的大小,虽然也没多大。之后就是通过manager获取子路径下文件的属性并且计算文件大小:

第三步就是清除缓存的操作了,和第一步一样我们首先要获取cache文件夹的路径,这里我们可以写成宏文件便于调用 :  

最后就是删除操作了,代码如下:

文章写得比较简单,只要就是针对清除缓存这个功能的简单使用,因为是初学者所以有不正确的地方请不吝赐教,后续会进行补充更正。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • #pragma mark - 第一步,计算缓存文件的大小 //首先获取缓存文件的路径 -(NSString *)g...
    破夕_____________阅读 757评论 0 3
  • 应用场景: 现在众多app中都会有清楚缓存的功能,怎么能精确的计算缓存文件的大小,从而清除缓存文件呢,下面对清楚功...
    Mr_Bob_阅读 1,810评论 7 19
  • iOS 清除缓存 我们在使用任何一款APP的时候,无论是苹果的 还是安卓的 都会产生一些缓存 ,我们在使用APP的...
    4e6a6be6f5b5阅读 1,051评论 3 9
  • 我们在使用任何一款APP的时候,无论是苹果的 还是安卓的 都会产生一些缓存 ,我们在使用APP的时候 就要定期去清...
    技术支持菜鸟阅读 1,153评论 3 14
  • 1.点击单元格弹出提示 NSString *str = [self countCacheSize]; NSStri...
    滴答大阅读 350评论 0 3

友情链接更多精彩内容