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