清除缓存

原创 2015年07月08日 10:38:07

//方法

声明属性:@property(nonatomic) float fileSize;

-(void)delAllFile{
    dispatch_async(
                   dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0)
                   , ^{
                       NSString *cachPath = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) objectAtIndex:0];
                       NSLog(@"%@", cachPath);
                       
                       NSArray *files = [[NSFileManager defaultManager] subpathsAtPath:cachPath];
                       NSLog(@"files :%d",[files count]);
                       for (NSString *p in files) {
                           NSError *error;
                           NSString *path = [cachPath stringByAppendingPathComponent:p];
                           if ([[NSFileManager defaultManager] fileExistsAtPath:path]) {
                               [[NSFileManager defaultManager] removeItemAtPath:path error:&error];
                           }
                       }
                       [self performSelectorOnMainThread:@selector(clearCacheSuccess) withObject:nil waitUntilDone:YES];});
}



//响应方法

//清除完成
-(void)clearCacheSuccess
{
    [self showTipInView:self.view tip:@"操作成功"];
}

//计算文件大小


#pragma mark - fun
//计算所有
-(void)fileSizeAll{
    NSString *cachPath = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) objectAtIndex:0];
    NSLog(@"%@", cachPath);
    
    NSArray *files = [[NSFileManager defaultManager] subpathsAtPath:cachPath];
    NSLog(@"files :%d",[files count]);
   
     for (NSString *p in files) {
         _fileSize += [self folderSizeAtPath:p];

    }
    
 }
//文件
- (long long) fileSizeAtPath:(NSString*) filePath{
    NSFileManager* manager = [NSFileManager defaultManager];
    if ([manager fileExistsAtPath:filePath]){
        return [[manager attributesOfItemAtPath:filePath error:nil] fileSize];
    }
    return 0;
}

//文件大小
- (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);
}


版权声明:本文为博主原创文章,未经博主允许不得转载。

(九)轻松dubbo--结果缓存

缓存的应用非常广泛,为了提高数据访问的速度。Dubbo也不例外,它提供了声明式缓存,以减少用户加缓存的工作量。 一、Dubbo中缓存策略 lru 基于最近最少使用原则删除多余缓存,保持最热的数据被...
  • lovesummerforever
  • lovesummerforever
  • 2015年10月10日 11:01
  • 3499

Chrome浏览器清除页面js文件缓存的方法

Chrome浏览器清除js缓存方法虽然简单,但有些人还是不太会,有些人会去设置里面清除有时候没有用,这里写一下简单步骤,使用一次以后就会了,而且速度更快按F12调出开发模式框勾选 Network标签下...
  • pukuimin1226
  • pukuimin1226
  • 2017年06月14日 11:38
  • 10440

前端编程中,如何消除浏览器缓存

在前端编程中,Brackets与nginx是我最喜欢的组合,调试代码与接口全在本地,完全能达到那种飞一般的编程感觉。但在开发中,最容易郁闷的是,html与js文件容易被浏览器缓存,文件都已经更新了,但...
  • yiifaa
  • yiifaa
  • 2016年11月29日 15:37
  • 3980

js清除浏览器缓存的几种方法(项目总结)

以前很少关注这方面的问题,直达我们的技术经理找我们说要换框架,为什么换框架呢,因为缓存的问题,原来的项目是用版本号作为刷新的依据的。因为微信 公众号上有这样一个机制,使用版本好的话,有时做不到及时刷新...
  • xiaolinlife
  • xiaolinlife
  • 2017年06月30日 14:25
  • 1789

清除缓存,数据库,sharedPreference和files

描 述: 主要功能有清除内/外缓存,清除数据库,清除sharedPreference,清除files和清除自定义目录 import java.io.File; import android...
  • wuxin782515516
  • wuxin782515516
  • 2015年05月19日 10:10
  • 748

清除Cache缓存

/// /// 清除所有Cache缓存 /// public static void RemoveAllCache() { ...
  • huanyinghanlang
  • huanyinghanlang
  • 2016年01月21日 14:58
  • 404

关于angularJs清除浏览器缓存的方法

浏览器缓存,有时候我们需要他,因为他可以提高网站性能和浏览器速度,提高网站性能。但是有时候我们又不得不清除缓存,因为缓存可能误事,出现一些错误的数据。像股票类网站实时更新等,这样的网站是不要缓存的,像...
  • jimolangyaleng
  • jimolangyaleng
  • 2017年08月03日 13:42
  • 1663

Android APP中清除缓存功能详解

现在很多APP中都有系统设置,这个模块中有一个缓存设置功能,用户可以查看当前APP缓存数据大小并且可以手动清空缓存数据。 缓存数据的统计分2块:内存(这里指的是应用程序包目录所在位置)+外存(外部存...
  • wf_zeng
  • wf_zeng
  • 2013年07月19日 14:52
  • 15721

MySQL缓存的查询和清除命令使用详解

清空mysql 查询缓存的可行方法 mysql对同一条sql进行了缓存,在第二次运行时, 瞬间就完成了,若要清除缓存,可通过下面的方法来实现 对一条sql进行优...
  • haiross
  • haiross
  • 2016年05月03日 09:42
  • 3160

js清除浏览器缓存的几种方法

关于浏览器缓存浏览器缓存,有时候我们需要他,因为他可以提高网站性能和浏览器速度,提高网站性能。但是有时候我们又不得不清除缓存,因为缓存可能误事,出现一些错误的数据。像股票类网站实时更新等,这样的网站是...
  • u013630488
  • u013630488
  • 2015年11月02日 11:16
  • 30131
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:清除缓存
举报原因:
原因补充:

(最多只允许输入30个字)