我試圖用iPhone快速拍攝並保存照片,速度很快。問題在於它們不會保存到最後,然後永久存在,或者大約1/2到3/4根本不存儲(Write busy
錯誤或-[NSKeyedUnarchiver initForReadingWithData:]: data is NULL
)。iPhone相機快速拍攝照片,但在保存時遇到問題
我敢打賭,我只是超載手機的內存,但我想不出有效處理它的方式。標準的iPhone相機應用程序可以很好地處理它 - 以幾乎1張照片/秒的速度拍攝,並且可以毫無問題地保存。
有關如何更好地管理流程/內存的任何想法,以便它可以保存,但仍然快速拍攝?
這是我的一些代碼。每當調用self.readyToTake = YES
時,都會調用takePicture
。
- (void)takePicture { self.delegate = self; [super takePicture]; self.readyToTake = NO; } - (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 { if (error) { NSLog([NSString stringWithFormat:@"** ERROR SAVING PHOTO: %@", [error localizedDescription]]); } }
謝謝你的幫忙!
編輯
如果我節約,像480×640之前調整照片至更小的尺寸,我趕緊保存沒有問題。但是,我想要捕獲並保存全尺寸圖像。原生的相機應用似乎處理得很好。
這個問題的一些功能將它們保存到相冊在保存上一張照片後啓用下一張照片是相機不再快速拍攝。大多數照片大約需要3-5秒才能保存。 –
我們可以在某些後臺線程中執行保存功能......但如果需要3-5秒,那麼它可能會導致進程垃圾......這一切都取決於硬件,我猜... – Ilanchezhian