ios 清理缓存

摘要:
//拿到要清理的路径,其实就是caches的路径,一般像这种很多地方都会用到的地方真好搞成宏,不过现在苹果不提倡用宏了//在swift中可以定义成全局的常量//遍历caches,将内部的文件大小计算出来,点击确认删除的话直接删除全部文件,如果有不想清理的文件,可以在遍历文件时根据路径过滤掉{NSString*path=WNXCachesPath;NSFileManager*fileManager=

ios 清理缓存第1张

//拿到要清理的路径,其实就是caches的路径,一般像这种很多地方都会用到的地方真好搞成宏,不过现在苹果不提倡用宏了
            //在swift中可以定义成全局的常量
            //遍历caches,将内部的文件大小计算出来,点击确认删除的话直接删除全部文件,如果有不想清理的文件,可以在遍历文件时根据路径过滤掉
{
            NSString *path =WNXCachesPath;
            NSFileManager *fileManager=[NSFileManager defaultManager];
                        floatfolderSize;
            if([fileManager fileExistsAtPath:path]) {
                //拿到算有文件的数组
                NSArray *childerFiles =[fileManager subpathsAtPath:path];
                //拿到每个文件的名字,如有有不想清除的文件就在这里判断
                for (NSString *fileName inchilderFiles) {
                    //将路径拼接到一起
                    NSString *fullPath =[path stringByAppendingPathComponent:fileName];
                    folderSize +=[self fileSizeAtPath:fullPath];
                }
                
                self.alertView = [[UIAlertView alloc] initWithTitle:@"清理缓存" message:[NSString stringWithFormat:@"缓存大小为%.2fM,确定要清理缓存吗?", folderSize] delegate:self cancelButtonTitle:@"取消" otherButtonTitles:@"确定", nil];
                [self.alertView show];
                self.alertView.delegate =self;
            }
        }
1 #pragma mark UIAlertViewDelegate
2 - (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
3 {
4     if(buttonIndex) {
5         //点击了确定,遍历整个caches文件,将里面的缓存清空
6         NSString *path =WNXCachesPath;
7         NSFileManager *fileManager=[NSFileManager defaultManager];
8         if([fileManager fileExistsAtPath:path]) {
9             NSArray *childerFiles=[fileManager subpathsAtPath:path];
10             for (NSString *fileName inchilderFiles) {
11                 //如有需要,加入条件,过滤掉不想删除的文件
12                 NSString *absolutePath=[path stringByAppendingPathComponent:fileName];
13 [fileManager removeItemAtPath:absolutePath error:nil];
14 }
15 }
16 }
17     
18     self.alertView =nil;
19 }
20 
21 //计算单个文件夹的大小
22 -(float)fileSizeAtPath:(NSString *)path{
23     
24     NSFileManager *fileManager=[NSFileManager defaultManager];
25     
26     if([fileManager fileExistsAtPath:path]){
27         
28         long long size=[fileManager attributesOfItemAtPath:path error:nil].fileSize;
29         
30         return size/1024.0/1024.0;
31 }
32     return 0;
33 }

免责声明:文章转载自《ios 清理缓存》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Android播放音乐时跳动的屏谱demoubuntu中桌面图标的配置下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

更新CSS缓存的办法

http://www.divcss3.com/NewsFiles/120611/20121711091711.html 通过设置可以将DIV+CSS切图、js等不太经常更新的文件缓存在浏览器端,访客每次进入网站时浏览器就可以从浏览器的缓存中获取css、js。htaccess设置的css、js缓存都有一个过期时间,如果在访客的浏览器中已经缓存了css、js,...

缓存(销毁)依赖

1:缓存依赖的类别      文件,数据表,数据行,一段时间,控件,查询字符串等2:缓存项之间的依赖 protected void Button3_Click(object sender, EventArgs e){    // create item A and item B    string itemA = "ItemA";    string it...

微软的坑:Url重写竟然会引起IIS内核模式缓存不工作

万万没有想到!当初为了解决使用负载均衡时记录客户端IP地址的问题,在IIS URL Rewrite Module中增加了一条URL重写规则(详见迁入阿里云后遇到的Request.UserHostAddress记录IP地址问题):3 <rewrite> <allowedServerVariables> &...

FCKeditor 编辑器的用法转

昨天抛弃了FreeTextBox1.6中文版,改用FCKeditor 2.1.1。FCKeditor不仅加上了FLASH插入功能,而且它的兼容性超强:支持多种浏览器包括IE 5.5+、Firefox 1.0+、Mozilla 1.3、Netscape 7+;无平台限制,在Windows、Mac、Linux下都能运行;可以和多种WEB语言融合包括:ASP.N...

cpu 乱序执行与问题【转】

转自:https://blog.csdn.net/lizhihaoweiwei/article/details/50562732 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本文链接:https://blog.csdn.net/lizhihaoweiwei/article/details/5056...

关于Android中的三级缓存

三级缓存的提出就是为了提升用户体验。当我们第一次打开应用获取图片时,先到网络去下载图片,然后依次存入内存缓存,磁盘缓存,当我们再一次需要用到刚才下载的这张图片时,就不需要再重复的到网络上去下载,直接可以从内存缓存和磁盘缓存中找,由于内存缓存速度较快,我们优先到内存缓存中寻找该图片,如果找到则运用,如果没有找到(内存缓存大小有限),那么我们再到磁盘缓存中去找...