`
zjjzmw1
  • 浏览: 1365108 次
  • 性别: Icon_minigender_1
  • 来自: 开封
社区版块
存档分类
最新评论

ios 清空缓存方法

    博客分类:
  • iOS
阅读更多

#pragma mark === 暂时不用清除缓存=====

-(void)myClearCacheAction{

    dispatch_async(

                   dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0)

                   , ^{

                       NSString *cachPath = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) objectAtIndex:0];

                       

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

                       NSLog(@"files :%lu",(unsigned long)[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

{

    NSLog(@"清理成功");

 

}

 

 

 

//获取缓存大小。。

CGFloat fileSize = [self folderSizeAtPath:cachePath];

        

        dispatch_async(dispatch_get_main_queue(), ^{

            cache.subtitle = [NSString stringWithFormat:@"%.2fMB",fileSize];

            [self.tableView reloadData];

 

        });

 

 

- (CGFloat)folderSizeAtPath:(NSString *)folderPath

{

    NSFileManager *manager = [NSFileManagerdefaultManager];

    if (![manager fileExistsAtPath:folderPath]) {

        return 0;

    }

    

    NSEnumerator *childFilesEnumerator = [[manager subpathsAtPath:folderPath] objectEnumerator];

    

    NSString *fileName = nil;

    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 = [NSFileManagerdefaultManager];

    if ([manager fileExistsAtPath:filePath]){

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

    }

    return 0;

 

}

分享到:
评论

相关推荐

    ios-iOS离线缓存.zip

    1. **NSCache**: NSCache是内存中的缓存,用于临时存储对象,但当系统内存紧张时,它会自动清空。在离线缓存场景下,由于内存有限,可能不适合存储大量数据。 2. **UserDefaults**: UserDefaults适合存储轻量级的...

    ios 图片缓存类

    8. **缓存生命周期管理**:缓存类还需要处理一些生命周期问题,例如在应用启动和退出时如何初始化和清理缓存,以及在内存警告时如何快速清空内存缓存。 9. **错误处理**:图片加载过程中可能会遇到网络错误、文件...

    ios-基于AFN3.0封装自带缓存.zip

    增加GET/POST数据缓存、获取缓存大小、清空缓存功能 接口增加刷新缓存功能 增加取消所有请求、取消单个请求功能 格式化打印日志 增加对手动取消请求接口是否在失败时还回调的控制 博文专门介绍如何使用:...

    ios 清除缓存

    通过`removeObject(forKey:)`方法可以删除特定键值对,或者直接调用`synchronize()`来清空整个存储。 3. **使用Core Data**:如果你的应用使用Core Data来存储数据,可以定期进行数据库的清理。这通常涉及删除不再...

    IOS获取缓存文件的大小并清除缓存文件的方法

    清空缓存通常是在用户需要释放存储空间或系统提示存储空间不足时进行的。以下是一个简单的清除缓存文件的实现: ```objc - (void)clearFile { NSString *cachePath = [NSSearchPathForDirectoriesInDomains...

    ios-清除缓存.zip

    5. **定期重启设备**:除了清理缓存,定期重启iOS设备也能帮助释放内存,清空系统缓存,并可能改善设备性能。 6. **更新系统和应用**:保持iOS和应用的最新状态也能帮助优化性能,因为开发者会在新版本中修复可能...

    iOS缓存清理

    4. **定期重启**:定期重启iOS设备也可以帮助清理一些临时性的系统缓存,尤其是当设备出现卡顿时,重启可以清空内存中的临时数据,使设备恢复流畅。 5. **更新系统和应用**:保持iOS系统和应用的最新版本,因为...

    iOS中设置清除缓存功能的实现方法

    SDWebImage提供了`clearCache`方法方便地清空图片缓存。对于自定义文件夹,我们可以在子线程中遍历文件,逐一删除。在删除过程中,可以使用SVProgressHUD等进度提示库向用户展示清除进度。 清除操作完成后,需要...

    iOS 图片异步加载 图片缓存

    内存缓存可以有效利用设备的RAM,但当系统内存不足时,会自动清空。磁盘缓存则通常存储在应用的沙盒内,通过哈希值等信息对文件进行命名,方便查找。 SDWebImage的缓存机制可以通过配置进行调整,例如设置最大内存...

    iOS 清除xcode缓存和生成文件的方法

    方法1 ...在里面输入如下 /Users/(自己电脑名字)/Library/Developer/Xcode/DerivedData 回车 然后删掉目录下文件 方法2 你打开Finder,然后鼠单击顶头的...以上这篇iOS 清除xcode缓存和生成文件的方法就是小编分享给大家

    IOS 离线浏览网页

    通过网页浏览时,讲缓存保存起来,若下次...若下次在线浏览网页,则清空缓存,重新加载保存。 本代码在http://code4app.com/ios/UIWebView离线缓存/53c39db6933bf07c388b49c8 的基础上面做小修改,希望能对大家有用

    ios-瀑布流展示照片.zip

    可以使用`collectionView:willDisplayCell:forItemAtIndexPath:`代理方法,在单元格即将显示时加载图片,或者使用`prepareForReuse`方法,在单元格复用前清空旧的图片资源。 此外,如果压缩包中的“photoPlayer”...

    IOS 使用SDWebImage照片浏览器

    7. **缓存管理**:如果需要对缓存进行更精细的控制,可以使用SDWebImage的`SDImageCache`类,获取、删除或清空图片缓存。此外,还可以监听网络变化,动态调整缓存策略。 8. **错误处理**:在加载图片时可能会遇到...

    uitableview异步加载图片(iOS)

    4. **缓存策略**:可以根据需求调整缓存策略,例如是否只使用内存缓存,是否清空过期缓存等。 5. **错误处理**:可以设置SDWebImage的错误回调,以便在加载失败时做出相应处理: ```objc cell.imageView.sd_...

    IOS SQLITE数据库访问与使用demo

    - 清空表:清空整个用户表。 7. **安全与优化**: - 数据安全:对敏感数据进行加密,防止数据泄露。 - 性能优化:合理设计数据库结构,避免全表扫描,使用索引提升查询速度。 8. **错误处理**:在SQLite操作中...

    Unity 3D web插件 3D WebView for Android and iOS Web Browser 4.2.2

    7. **自定义设置**:可能允许开发者自定义WebView的设置,如缓存策略、JavaScript启用状态等。 文件列表中的"3D WebView for Android and iOS Web Browser 4.2.2.txt"可能是包含插件的使用指南、API文档或安装步骤...

    ios-相册选择器.zip

    使用`PHPhotoLibrary`类的`requestAuthorization:`方法请求访问权限。当用户给予许可后,我们才能继续进行后续操作。 2. **获取相册列表**:利用`PHAssetCollection`类,我们可以获取到用户的所有相册。`...

    ios-SDWebImageDemo优化图片显示.zip

    当内存不足时,SDWebImage会自动清空内存缓存,保证应用的稳定性。 3. **图片解码** 图片加载过程中,解码是一个耗时操作。SDWebImage默认在后台线程进行解码,避免了主线程的负担。此外,还支持对不同格式(如...

    完美解决客户端webview持有的页面缓存,不会立即释放的问题

    2. **遵循生命周期**:在Android的`Activity`的`finish()`方法或iOS的视图控制器的适当生命周期方法(如`deinit`)中执行清理操作。 3. **资源释放**:除了清空页面,还需要确保取消订阅所有可能存在的观察者、...

Global site tag (gtag.js) - Google Analytics