使用iPhone 4时,使用后置摄像头时出现内存问题。它导致内存错误,不会将图片分配给UIView。这是代码。
-(IBAction)getCameraPicture:(id)sender {
UIImagePickerController *picker = [[UIImagePickerController alloc] init];
picker.delegate = self;
picker.allowsEditing = NO;
if(sender == takePictureButton)
picker.sourceType = UIImagePickerControllerSourceTypeCamera;
else
picker.sourceType = UIImagePickerControllerSourceTypeSavedPhotosAlbum;
[self presentModalViewController:picker animated:YES];
[picker release];
}
- (void)imagePickerController:(UIImagePickerController *)picker
didFinishPickingMediaWithInfo:(NSDictionary *)info
{
imageView.image = [info objectForKey:UIImagePickerControllerOriginalImage];
[picker dismissModalViewControllerAnimated:YES];
}
使用正面(低质量)相机时,它可以正常工作,也可以加载未以全质量拍摄的现有照片。有没有办法降低后置摄像头拍摄的照片质量,或者其他一些方法来解决这个问题?
答案 0 :(得分:4)
这是一个常见问题,iPhone上相机的图像非常大!通常比你需要的要大得多。最佳做法是将图像调整为大小不超过您的需要。我使用MGImageUtilities,效果很好。
如果您因任何原因需要完整尺寸的图像,请在调整大小之前将其缓存到磁盘。