gpt4 book ai didi

iphone - UIImagePickerController 内存泄漏

转载 作者:可可西里 更新时间:2023-11-01 03:12:07 27 4
gpt4 key购买 nike

在我的 iPhone 应用程序中使用 UIImagePickerController 时,我看到了巨大的内存泄漏。我正在使用苹果文档中的标准代码来实现控制:

    UIImagePickerController* imagePickerController = [[UIImagePickerController alloc] init];
imagePickerController.delegate = self;
if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera]) {

switch (buttonIndex) {
case 0:
imagePickerController.sourceType = UIImagePickerControllerSourceTypeCamera;
[self presentModalViewController:imagePickerController animated:YES];
break;
case 1:
imagePickerController.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
[self presentModalViewController:imagePickerController animated:YES];
break;
default:
break;
}
}

对于取消:

-(void) imagePickerControllerDidCancel:(UIImagePickerController *)picker
{
[[picker parentViewController] dismissModalViewControllerAnimated: YES];
[picker release];
}

didFinishPickingMediaWithInfo 回调是标准的,尽管我什至不需要选择任何东西来导致泄漏。

这是我在仪器中看到的,我所做的只是打开 UIImagePickerController,选择照片库,然后反复按取消。如您所见,内存不断增长,最终导致我的 iPhone 应用程序速度大幅下降。

enter image description here

如您所见,我打开图像选择器 24 次,每次都分配 128kb,但从未释放。基本上我总共 6mb 中的 3mb 从未被释放。

无论我做什么,这段内存都会泄漏。即使在离开当前 Controller 之后,它仍然保持不变。我还将选择器控件实现为具有相同结果的单例。

这是我深入研究这两行时看到的内容:

enter image description here

如有任何帮助,我们将不胜感激!同样,我什至不必选择图像。我所做的就是出示 Controller ,然后按取消。

更新1

我下载并运行了 apple 使用 UIIMagePickerController 的示例,我发现在运行仪器时(在模拟器和手机上)发生了同样的泄漏。

http://developer.apple.com/library/ios/#samplecode/PhotoPicker/Introduction/Intro.html%23//apple_ref/doc/uid/DTS40010196

您所要做的就是点击照片库按钮并反复点击取消,您会看到内存不断增长。

有什么想法吗?

更新2

我只在查看照片库时才看到这个问题。我可以选择拍照,然后一遍又一遍地打开和关闭那张照片,而不会漏水。

最佳答案

这是 SDK 中的错误。向 Apple 提交报告。我有同样的问题。它也记录在这里:http://www.cocoabuilder.com/archive/cocoa/285293-iphone-memory-leak-can-explain.html那是一年多以前的事了,仍然没有解决。

关于iphone - UIImagePickerController 内存泄漏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6554225/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com