美文网首页
清除缓存ios

清除缓存ios

作者: 40dd4b561abe | 来源:发表于2017-06-13 10:40 被阅读12次
//获取缓存数量(m)

-(NSString *)getMa

{

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES);

NSString *path = [paths lastObject];

NSString *str = [NSString stringWithFormat:@"%.1fM", [self folderSizeAtPath:path]];

return str;

}

//清除缓存

-(void)clearM

{

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES);

NSString *path = [paths lastObject];

NSString *str = [NSString stringWithFormat:@"缓存已清除%.1fM", [self folderSizeAtPath:path]];

NSArray *files = [[NSFileManager defaultManager] subpathsAtPath:path];

for (NSString *p in files) {

NSError *error;

NSString *Path = [path stringByAppendingPathComponent:p];

NSRange range = [Path rangeOfString:@"Library/Preferences"];

NSLog(@"%ld,%ld\n%@",range.length,range.location,Path);

if (range.location != NSNotFound) {//跳过NSUserDefaults存储

continue;

}

if ([[NSFileManager defaultManager] fileExistsAtPath:Path]) {

[[NSFileManager defaultManager] removeItemAtPath:Path error:&error];

}

}

[QianXiManager alert:str title:nil coll:self block:^(NSInteger num) {

[self.tableView reloadData];

}];

}

//获取缓存数量(k)

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

}

//获取filePath路径的文件大小

- (long long) fileSizeAtPath:(NSString*) filePath{

NSFileManager* manager = [NSFileManager defaultManager];

if ([manager fileExistsAtPath:filePath]){

return [[manager attributesOfItemAtPath:filePath error:nil] fileSize];

}

return 0;

}

相关文章

  • WkWebView 清除缓存 ios8

    WkWebView 清除缓存 ios8iOS8系统NSString *libraryDir = NSSearchP...

  • 清楚WKWebView缓存

    WKWebView清除缓存WKWebView,在iOS9以后提供了缓存管理类WKWebsiteDataStore,...

  • iOS清除UIWebView缓存

    使用iOS的webview会自动进行缓存,在开发的时候要记得清除Cookie和缓存。

  • iOS 清除缓存

    iOS的缓存一般分为两部分,一部分是下载数据产生的缓存,这部分有系统做了缓存,在沙盒里面,还有一部分是图片的缓存,...

  • iOS清除缓存

  • 清除缓存ios

  • iOS清除缓存

    #pragma mark - 第一步,计算缓存文件的大小 //首先获取缓存文件的路径 -(NSString *)g...

  • ios清除缓存

  • iOS 清除缓存

    iOS 清除缓存 我们在使用任何一款APP的时候,无论是苹果的 还是安卓的 都会产生一些缓存 ,我们在使用APP的...

  • iOS 清除缓存

    我们在使用任何一款APP的时候,无论是苹果的 还是安卓的 都会产生一些缓存 ,我们在使用APP的时候 就要定期去清...

网友评论

      本文标题:清除缓存ios

      本文链接:https://www.haomeiwen.com/subject/yvhdqxtx.html