gpt4 book ai didi

ios - 在 iOS 7 中使用相机时应用程序因内存压力而终止

转载 作者:技术小花猫 更新时间:2023-10-29 11:23:46 26 4
gpt4 key购买 nike

当我使用 UIImagePickerController 相机捕获一些图像时,我遇到错误App Terminated due to Memory Pressure

我先收到内存警告,然后应用程序突然崩溃。这个问题特别出现在 iOS 7 中,因为在 iOS 6 中它工作正常。

有人知道为什么在 iOS 7 中使用相机时会出现此内存问题。

注意:我尽量减少 RAM 使用,因为这也可能是造成这种内存压力的原因。但仍然收到警告。

最佳答案

我刚刚在类似的帖子 ( iOS 7 UIImagePicker preview black screen ) 上发布了这个答案。这是我说的:

大约 5 个月前,我的团队发现了 UIImagePickerController 的内存泄漏。每个实例化都会以指数方式减慢应用程序(即第一个 alloc-init 有 1 秒的延迟,第二个有 2 秒的延迟,第三个有 5 秒的延迟)。最终,我们有 30-60 次延迟(与您遇到的情况类似)。

我们通过子类化 UIImagePickerController 并将其设为 Singleton 解决了这个问题。这样它只会被初始化一次。现在我们的延迟是最小的,我们避免了泄漏。如果子类化不是一个选项,请在您的 viewController 中尝试一个类属性,然后像这样延迟加载它。

-(UIImagePickerController *)imagePicker{
if(!_imagePicker){
_imagePicker = [[UIImagePickerController alloc]init];
_imagePicker.sourceType = UIImagePickerControllerSourceTypeCamera;
}
return _imagePicker;
}

然后你可以稍后调用它:

[self presentViewController:self.imagePicker animated:YES completion:nil];

据我所知,这只是 iOS 7 中 UIImagePickerController 的问题。以前的版本似乎没问题。

关于ios - 在 iOS 7 中使用相机时应用程序因内存压力而终止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20512671/

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