首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >UIDocument saveToURL:导致严重延迟

UIDocument saveToURL:导致严重延迟
EN

Stack Overflow用户
提问于 2012-05-15 19:08:41
回答 1查看 663关注 0票数 0

UIDocument的saveToURL:forSaveOperation:completionHandler:应该是异步的(在文档中,它说它在后台队列上执行此操作),但我的代码在调用它时有7-10秒的延迟。

代码如下:

代码语言:javascript
复制
NSLog(@"saving image...");
[picDoc saveToURL:[picDoc fileURL] 
 forSaveOperation:UIDocumentSaveForCreating 
completionHandler:^(BOOL success) {


    dispatch_async(dispatch_get_main_queue(), ^{
        if (success) {
            NSLog(@"image save successful!");
            UIImage *thumbnail = [image imageByScalingAndCroppingForSize:CGSizeMake(146, 110)];
            Picture *picture = [[Picture alloc] initWithThumbnail:thumbnail filename:fileName];
            [[set pictures] addObject:picture];




            [self setupPictures];

            [scrollView scrollRectToVisible:((UIView *)[[scrollView subviews] lastObject]).frame animated:YES];
            currentIndex = [[set pictures] count] - 1;
            [self showPicture];

        } else {
            NSLog(@"failed saving image");
        }
        [SVProgressHUD dismiss];
    });

    [picDoc closeWithCompletionHandler:nil];
}];
NSLog(@"exit");

和控制台:

代码语言:javascript
复制
2012-05-15 07:07:27.417 Picventory[5939:707] saving image...
2012-05-15 07:07:34.120 Picventory[5939:707] exit
2012-05-15 07:07:34.740 Picventory[5939:707] image save successful!

当调用是异步的时,为什么会有如此巨大的延迟?谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-05-15 19:16:37

将文件写入磁盘是异步的,但获取文档数据的快照则不是。您应该使用Instruments中的Time Profiler来找出实际花费这么长时间的原因。我猜您可能需要优化您的contentsForType:error: (或等效的)方法,但首先要测量!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10599476

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档