清除缓存

- (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);
}

- (long long) fileSizeAtPath:(NSString*) filePath{
    NSFileManager* manager = [NSFileManager defaultManager];
    if ([manager fileExistsAtPath:filePath]){
        return [[manager attributesOfItemAtPath:filePath error:nil] fileSize];
    }
    return 0;
}计算缓存大小
苏相荣  09:50:46
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];});
}

缓存清理

时间: 2024-10-06 06:41:15

清除缓存的相关文章

iOS清除缓存

[objc] view plaincopy #pragma mark === 暂时不用清除缓存===== -(void)myClearCacheAction{ dispatch_async( dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0) , ^{ NSString *cachPath = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDoma

如何只使用一句代码实现清除缓存的功能

其实这很简单的(恶作剧咯^_^) <a href="javascript:alert('清除成功');"> 清除缓存</a>

Xcode清除缓存、清理多余证书

Xcode清除缓存.清理多余证书 1.删除Xcode中多余的证书provisioning profile 手动删除: Xcode6 provisioning profile path: ~/Library/MobileDevice/Provisioning Profiles 2.清理Xcode编译项目产生的缓存垃圾 (Xcode永久了,会产生很多项目编译缓存,占用一大堆硬盘空间,此时需要对该目录进行清理) 手动删除: Xcode编译项目缓存垃圾的目录: ~/Library/Developer/X

(一一七)基本文件操作 -SDWebImage清除缓存 -文件夹的大小计算

在iOS的App沙盒中,Documents和Library/Preferences都会被备份到iCloud,因此只适合放置一些记录文件,例如plist.数据库文件.缓存一般放置到Library/Caches,tmp文件夹会被系统随机清除,不适宜防止数据. [图片缓存的清除] 在使用SDWebImage时,图片被大量的缓存,有时需要获取缓存的大小以及清除缓存. 要获取缓存大小,使用SDImageCache单例的getSize方法拿到byte为单位的缓存大小,注意计算时按1K=1000计算. 拿到M

UIWebView清除缓存和cookie[转]

现在项目遇到一个问题,游戏底层用Cocos2d-x,公告UI实现是用的UIWebView, 然后第一次在有网络的环境下运行公告UI,会加载url链接,同时就会自动存入缓存,当下次手机没有网络的环境下,会加载缓存,给玩家UIWebView链接良好的错觉! 所以每次加载完URL链接后, 同时把缓存也马上清理. 源码如下: //清除cookies NSHTTPCookie *cookie; NSHTTPCookieStorage *storage = [NSHTTPCookieStorage shar

ios获取缓存文件的大小并清除缓存

移动应用在处理网络资源时,一般都会做离线缓存处理,其中以图片缓存最为典型,其中很流行的离线缓存框架为SDWebImage. 但是,离线缓存会占用手机存储空间,所以缓存清理功能基本成为资讯.购物.阅读类app的标配功能. 今天介绍的离线缓存功能的实现,主要分为缓存文件大小的获取.清除缓存文件的实现. 1. 获取缓存文件的大小-( float )readCacheSize{    NSString *cachePath = [NSSearchPathForDirectoriesInDomains (

iOS开发 -李洪强-清除缓存

// //  SetViewController.m //  dfhx // //  Created by dfhx_iMac_001 on 16/4/5. //  Copyright © 2016年 luoyun. All rights reserved. // #import "SetViewController.h" @interface SetViewController ()<UITableViewDelegate,UITableViewDataSource> @

如何知道缓存的大小,并且怎样清除缓存 -----ios

首先要了解怎么去拿到沙盒中的Cache文件路径 NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES)[0]; 这个方法可以拿到沙盒中的Cache路径 缓存一般都会在这个文件夹中. // 获取文件夹尺寸 + (NSInteger)getDirectorySize:(NSString *)directoryPath {     // 获取文件管理者     NSFileManager *mgr =

清除缓存功能的实现代码

缓存文件存储在沙盒文件夹Caches中,实现清除缓存,主要就是实现找到文件 - - 删除文件(其中涉及到计算文件大小) 以下是实现清除缓存的主要代码 //获取缓存路径 - (NSString *)getCache{ NSString *cachePath = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) firstObject]; NSLog(@"%@",cachePath)

微信内置浏览器无法清除缓存问题

微信开发比较头疼的一个情况就是缓存难以清除,然而奇怪的是微信app在IOS中是可以刷新页面的,但是Android中却不知道基于什么考虑,无法清除 缓存也没有刷新功能,这个就给开发者设置了不小的障碍,哪有页面是最好就不改的,然后如果去改,微信浏览器缓存着css.图片,这样改完后看效果就变得相 对费劲了. 我 上网查过,遇到这个蛋疼问题的不止我一个,寻寻觅觅却找不到解决办法的也不止我一个,有人说去微信“设置”.“通用”中“清除微信存储空间”,我想问,兄 弟你这样弄成功了吗?这个清理看似根本不是清理缓