2013-03-21 73 views
0

我得到一个内存警告和应用程序的过程中,当拍摄照片与iPhone的时候崩溃。不知道如何解决这个问题,因为在打开的相机作品的代码 - 和照片后的代码被捕获的作品,但错误是在相机拍摄的应用程序的图片部分地方......拍照时崩溃/内存警告 - 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在应用程序开始运行的代码再次写入。

有时它不会崩溃......我得到的内存警告和应用程序继续工作,因为它应该,但可能性是存在的崩溃,因为这个内存警告和我得到的测试崩溃,所以我想要弄清楚是什么导致了这种情况并加以解决。

任何帮助将是伟大的!谢谢!

+0

你有你'什么 - (空)didreceivememorywarning'功能? – Niro 2013-03-21 19:59:17

+0

不...有什么我可以放在那里,这将有助于解决这个问题吗? – RanLearns 2013-03-21 20:11:55

+0

在诊断为什么内存不足时,您应该使用仪器中的“泄漏”工具。这将显示你可能有任何内存泄漏。在收到“低内存”警告时调用' - (void)didreceivememorywarning',因此您可以释放并清除任何不必要的变量。 – Niro 2013-03-21 20:41:24

回答

1

我在应用程序中分配tableViews(不是因为它使用ARC而解除分配),而且显然在调用alloc tableViews之后,尝试捕获图片会导致内存崩溃。我改成了设定的tableviews的.hidden属性和关闭时,用户需要看到的,而不是每一个被请求的tableview时间alloc'ing表,现在正在拍摄照片时,应用程序从未崩溃。有时候还会有记忆警告,但从来没有发生过碰撞,并且在我拍照时通常没有记忆警告。