首次使用UIImageWriteToSavedPhotosAlbum时滞后

时间:2011-12-14 17:25:33

标签: iphone objective-c ios xcode

我正在开发一个简单的通用ios应用程序,用于在表格中显示图像,当用户选择图像时,它会转到包含更大图像视图的详细视图和用于将图像保存到其中的UIButton / IBAction相册..我使用下面的代码,大部分工作都很好,除了用户第一次按下“保存”它挂起一个loooooong滞后,一个很好的5-6秒。如果用户在延迟时间内多次点击它,那么即使我包含禁用按钮几秒钟的代码,图像也会被多次保存。在第一次触摸按钮时,也不会显示突出显示的按钮。此后它工作正常。有谁知道滞后的原因以及如何解决它。谢谢!

-(IBAction)saveBtn:(UIButton *)pressed{

UIImageWriteToSavedPhotosAlbum(image.myimage, self, @selector(imageSavedToPhotosAlbum: didFinishSavingWithError: contextInfo:), nil);

}

- (void)imageSavedToPhotosAlbum:(UIImage *)image didFinishSavingWithError:(NSError *)error contextInfo:(void *)contextInfo {  
    NSString *message;  
    NSString *title;  
    if (!error) {  
        title = NSLocalizedString(@"Image Saved", @"");  
        message = NSLocalizedString(@"You can now view the image in your photo album", @"");  
    } else {  
        title = NSLocalizedString(@"Save Failed", @"");  
        message = [error description];  
    }  
    UIAlertView *alert = [[UIAlertView alloc] initWithTitle:title  
                                                    message:message  
                                                   delegate:nil  
                                          cancelButtonTitle:NSLocalizedString(@"OK", @"")  
                                          otherButtonTitles:nil];  
    [alert show];  
    [alert release];  
}  

1 个答案:

答案 0 :(得分:0)

此问题与此代码无关,而是由于表视图中的大型图像文件的内存使用情况。