一段异步操作的代码(清理缓存)
2012-02-22 19:21
288 查看
在IOS项目里,有时候会执行一些大块的操作,例如访问网络,大的文件读写,删除等操作,如果直接在主线程里执行,往往会堵塞UI,这时候不得不考虑使用异步操作,使用GCD技术可以很方便的进行异步操作。
一段清理缓存的代码如下:
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 :%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
{
NSLog(@"清理成功");
}
一段清理缓存的代码如下:
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 :%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
{
NSLog(@"清理成功");
}
相关文章推荐
- 一段异步操作的代码(清理缓存)
- Nginx 负载均衡的Cache缓存批量清理的操作记录
- JAVA-----myeclipse快捷操作:一段代码自动生成方法 refactor重构extract method抽取方法
- 安卓应用清除缓存一般清理目录和代码(带弹框)
- iPhone 上实现异步加载图片并缓存代码
- iOS 清理缓存代码
- 以前实习期间写的一段mfc编程,对数据库和xml格式文档的相关操作 主要相关代码 之四 读取xml格式文档到界面
- SDWebImage异步加载图片及缓存的管理与清理 -- 推荐
- SDWebImage异步加载图片及缓存的管理与清理
- php原子性操作测试,有效防止多进程对同一段代码的重复执行
- 异步操作代码
- Android 中 Handler 引起的内存泄露 在Android常用编程中,Handler在进行异步操作并处理返回结果时经常被使用。其实这可能导致内存泄露,代码中哪里可能导致内存泄露,又是如何
- 题 阅读 评论 评论权限 操作 以前实习期间写的一段mfc编程,对数据库和xml格式文档的相关操作 主要相关代码 之五 导入xml格式文档数据到数据库
- CI框架中redis缓存相关操作文件示例代码
- 一段JavaScript操作HTML元素SELECT的代码
- 一段访客代码,也可以用于加锁的操作
- js怎么调用ios和安卓的返回上一页方法(注意清理缓存,这东西搞了我好几天,还以为代码写错)
- Thinking In Java中初始化和清理中的一段代码
- SDWebImage异步加载图片及缓存的管理与清理
- 图片异步下载+本地缓存+listview显示+服务器缩放图像代码