在我们开发app的过程中,都会涉及到一个问题,那就是清除缓存,我们都知道,随着应用使用频率的增加,程序cache的体积也会增大,因此就需要不定时的清除缓存,节省内存空间。说到缓存必然会涉及到沙盒机制,有不清楚的大家可以移步百度,这里就不多说了。下面我们开始步入正题
清除缓存的第一步就是要获取应用的缓存路径:
因为我们是从缓存里取,所以NSSearchPathDirectory选cache,NSSearchPathDomainMask选择uesr是从用户个人的目录下取,NSSearchPathForDirectoriesInDomains返回的是一个数组,所以我们取它的第一个元素。
第二步:获取cache文件夹下所有子文件的路径,并计算出文件大小。首先,我们通过NSFileManager获取cache文件夹下的所有子路径:
然后遍历数组,获取子路径下的子路径,并且将子路径的目录拼接成完整路径,这里有一点要说明,因为我们获取的是文件夹下文件的大小而不包括文件夹,所以我们这里需要去掉文件夹的大小,虽然也没多大。之后就是通过manager获取子路径下文件的属性并且计算文件大小:
第三步就是清除缓存的操作了,和第一步一样我们首先要获取cache文件夹的路径,这里我们可以写成宏文件便于调用 :
最后就是删除操作了,代码如下:
文章写得比较简单,只要就是针对清除缓存这个功能的简单使用,因为是初学者所以有不正确的地方请不吝赐教,后续会进行补充更正。