iPhone中UIImagePickerController的内存泄漏问题

时间:2009-07-27 18:07:50

标签: ios iphone

我正在为UIImagePicker使用以下代码,

UIImagePickerController *imagePicker = [[UIImagePickerController alloc] init];  
imagePicker.delegate = self;

[self presentModalViewController:imagePicker animated:YES];
[imagePicker release];

当我运行仪器时,我在代码的第一行看到内存泄漏。虽然我正在发布它,但仍显示内存泄漏,有没有人知道我哪里出错了。

我从iPhone开发者示例代码帮助中安装了iPhoneCoreDataRecipes应用程序,它遇到了同样的问题。

3 个答案:

答案 0 :(得分:1)

我认为这是苹果代码中的一个错误。当你显示一个图像选择器控制器时,他们似乎没有正确释放一些小东西,即使你明确释放了选择器。

答案 1 :(得分:1)

我自己也见过这个。我认为这是Apple代码中的一个问题,我通过保留UIImagePickerController的单个实例并根据需要重新使用它来“解决”它。否则,我的应用程序将在UIImagePickerController的20个左右实例化后耗尽内存。

答案 2 :(得分:1)

我相信Apple建议使用UIImagePicker作为单例,这意味着在整个程序运行时只有一个控制器实例。如果你考虑一下,你只需要一个实例,因为同一个控制器可以用来多次挑选或拍照。 UIImagePickerController似乎是内存密集型的,因此初始化多个实例可能会导致内存警告,如果您没有考虑到这一点,可能会释放其他视图并导致问题。