【问题标题】:iPhone camera shoots photos rapidly, but has problems saving themiPhone相机快速拍摄照片,但无法保存照片
【发布时间】:2011-09-30 03:01:33
【问题描述】:
我正在尝试用相机快速拍摄和保存照片,就像 iPhone 一样快。问题是他们直到最后才保存,然后它会永远保存,或者大约 1/2 到 3/4 根本不保存(Write busy 错误或-[NSKeyedUnarchiver initForReadingWithData:]: data is NULL)。
我敢打赌,我只是让手机的内存过载,但我想不出一种有效处理它的方法。标准的 iPhone 相机应用程序可以很好地处理它 - 以几乎每秒 1 张照片的速度拍摄,它可以毫无问题地保存。
关于如何更好地管理进程/内存以便它可以随时保存但仍能快速拍摄的任何想法?
这是我的一些代码。每当self.readyToTake = YES 时调用takePicture。
- (void)takePicture {
self.delegate = 自我;
[超级拍照];
self.readyToTake = 否;
}
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info {
self.readyToTake = YES;
UIImage *image = [info objectForKey:UIImagePickerControllerOriginalImage];
UIImageWriteToSavedPhotosAlbum(image, self, @selector(image:didFinishSavingWithError:contextInfo:), nil);
}
- (void)image:(UIImage*)image didFinishSavingWithError:(NSError *)error contextInfo:(NSDictionary*)info {
如果(错误)
{
NSLog([NSString stringWithFormat:@"** 错误保存照片: %@", [错误本地化描述]]);
}
}
感谢您的帮助!
编辑
如果我在保存之前将照片调整为更小的尺寸,例如 480x640,我可以快速保存。但是,我想捕获并保存全尺寸图像。原生相机应用似乎可以很好地处理它。
【问题讨论】:
标签:
iphone
camera