在设备上拍照时应用崩溃 - uipickercontroller

时间:2014-04-11 21:42:21

标签: ios objective-c photo

我之前已经多次询问过这个问题,但我似乎无法得到一个可以帮助我的答案。所以这是我的情况:

我让用户按下一个按钮,询问他们是否要拍照或从相册中选择一张。在我的实际手机上进行测试时,从相册模式中进行选择是有效的,但来自相机的图片非常奇怪。

会发生什么:用户显示相机视图 - >用户拍照 - >崩溃

崩溃不是控制台中的那个......我的xCode窗口顶部有一个窗口说:

由于记忆压力,应用程序意外停止。

所以我读到我需要在为用户显示一个小缩略图之前调整我从相机获取的图像...我这样做但无济于事......现在这已成为一个一致的问题。

这是我的代码:

(void) imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info {

[self dismissViewControllerAnimated:YES completion:nil];

//UIImage *img = [info objectForKey:UIImagePickerControllerOriginalImage];
CGRect rect = CGRectMake(0,0,320,480);

UIGraphicsBeginImageContext(rect.size);
//[img drawInRect:rect];
UIImage *picture1 = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
[_photoTaken setImage:picture1];

[self updateAppropriateCharacterCount];

[_userInputTextField becomeFirstResponder];
}

让我解释一下变量是什么:

_photoTaken是一个指向UIImageView的指针,我想在其中显示缩略图。它比320 x 480小得多。

现在我也有这个方法:

(void) takePhotoButtonPressed {
UIImagePickerController *picker = [[UIImagePickerController alloc] init];
picker.delegate = self;
picker.allowsEditing = NO;
picker.sourceType = UIImagePickerControllerSourceTypeCamera;
[self presentViewController:picker animated:YES completion:nil];
}

最后,在我完成所有这些有趣的调整大小的事情之前,我正在设置" img"变量到另一个名为" image"的指针这是我当地植入的定义。我正在使用它来检查(代码中的后面)是否存在图像。

任何帮助将不胜感激,或一些指导。

非常感谢

修改

我还注意到,如果我在运行我的应用程序一段时间才能拍照,它甚至会在显示相机之前崩溃 - 我按下了一张照片并且死了......

1 个答案:

答案 0 :(得分:1)

我有一个项目旨在提高照片的内存效率。文件将大于缩略图,但它通常比UIImagePicker运行得轻得多,最终的图片文件要小得多。

你可以找到它here