使用Camera的UIImagePickerController存在严重的内存问题

时间:2010-02-15 06:15:22

标签: iphone objective-c memory-leaks camera uiimagepickercontroller

我注意到当我加载UIImagePickerController并用它拍照时,会调用didReceiveMemoryWarning。此外,在仪器中,存在显着的内存泄漏(不是我,我发誓!)。我听说这是UIImagePickerController的一个问题但是,我不知道如何修复它。这是我对UIImagePickerController的实现。

    UIImagePickerController *imagePicker = [[UIImagePickerController alloc] init]; // Create the imagePicker
    imagePicker.delegate = self; 
    imagePicker.allowsEditing = YES; // Allow editing of the images
    imagePicker.sourceType = UIImagePickerControllerSourceTypeCamera;
    [self presentModalViewController:imagePicker animated:YES];
    [imagePicker release];

有什么想法吗?我真的不想牺牲这么有用的功能。

2 个答案:

答案 0 :(得分:0)

您是否与SDK 3.2有相同的泄漏?
使用UIImagePickerController拍摄视频时,我遇到了类似的泄漏。

当我发现泄漏在3.2中已修复时,我决定将应用程序的最低操作系统版本设置为3.2。

关于内存警告,这是可以预料的。相机需要大量内存来完成其工作,并且只需通过发送didReceiveMemoryWarning消息从您的应用中请求尽可能多的内存。

答案 1 :(得分:0)

您需要将图像重新缩放为较小的尺寸,例如320x460。然后它将成功运行。