拍照时出现崩溃/记忆警告 - iPhone

时间:2013-03-21 19:53:43

标签: iphone memory crash camera

我收到了内存警告,并且在使用iPhone拍摄照片时应用程序崩溃了。不确定如何解决这个问题,因为打开相机的代码可以正常工作 - 并且捕获图片后的代码可以正常工作,但错误是在相机的某处拍摄应用程序的图片部分......

我正在启动相机:

imagePicker = [[UIImagePickerController alloc] init];

if([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera]) 
{
    [imagePicker setSourceType:UIImagePickerControllerSourceTypeCamera];
}
else 
{
    [imagePicker setSourceType:UIImagePickerControllerSourceTypePhotoLibrary];
}

if ([UIImagePickerController isCameraDeviceAvailable:UIImagePickerControllerCameraDeviceRear]) {
            imagePicker.cameraDevice = UIImagePickerControllerCameraDeviceRear;
} else if ([UIImagePickerController isCameraDeviceAvailable:UIImagePickerControllerCameraDeviceFront]) {
            imagePicker.cameraDevice = UIImagePickerControllerCameraDeviceFront;
}

imagePicker.delegate = self;

[self presentModalViewController:imagePicker animated:YES];

我收到了“收到内存警告”。就在Recorder_SourceStarted和AVCaptureDeviceDidStartRunningNotification之前。

然后我在应用程序崩溃之前获取Recorder_DidStartPreviewing,Recorder_FlashStateChanged,Recorder_DidStartFocusOperation,Recorder_DidCompleteFocusOperation,Recorder_FlashStateChanged,Recorder_WillCapturePhoto,Recorder_DidCapturePhoto和Recorder_PhotoStillImageSampleBufferReady。

Recorder_PhotoStillImageSampleBufferReady是我在应用崩溃之前收到的最后一个通知。它没有进入_UIImagePickerControllerUserDidCaptureItem,此时应用程序开始运行我再次编写的代码。

有时它不会崩溃......我得到了内存警告,应用程序继续按预期工作,但由于此内存警告而导致崩溃的可能性,我在测试中遇到崩溃所以我'我想知道导致这种情况的原因并加以解决。

任何帮助都会很棒!谢谢!

1 个答案:

答案 0 :(得分:1)

我在应用程序中分配tableViews(不是dealloc'ing,因为它使用ARC),显然在调用alloc tableViews之后,尝试捕获图片会导致内存崩溃。当用户需要查看表而不是每次请求tableview时分配时,我更改了它以打开和关闭tableviews上的.hidden属性,现在应用程序永远不会在拍摄照片时崩溃。有时候还会有一个记忆警告,但从来没有发生过崩溃,而且在我拍照时通常没有记忆警告。