Nis*_*agi 9 iphone objective-c uiimagepickercontroller ios ios7
当我使用UIImagePickerController Camera捕获一些图像时,由于内存压力,我面临错误应用终止.
我先收到内存警告然后突然崩溃.这个问题在iOS 7中特别适用于iOS 6,它工作正常.
有人知道为什么在使用相机的iOS 7中会出现此内存问题.
注意:我试图最小化RAM使用率,因为它也可能是这种内存压力的原因.但仍然得到警告.
我刚刚在类似的帖子上发布了这个答案(iOS 7 UIImagePicker预览黑屏).这就是我说的:
大约5个月前,我的团队发现了UIImagePickerController的内存泄漏.每个实例化都以指数方式减慢app的速度(即第一个alloc-init延迟1秒,第二个延迟2秒,第三个延迟5秒).最终,我们有30-60个延迟(类似于你正在经历的).
我们通过继承UIImagePickerController并使其成为Singleton解决了这个问题.这样它只被初始化一次.现在我们的延迟很小,我们避免泄漏.如果子类化不是一个选项,请在viewController中尝试一个类属性,然后像这样延迟加载它.
-(UIImagePickerController *)imagePicker{
if(!_imagePicker){
_imagePicker = [[UIImagePickerController alloc]init];
_imagePicker.sourceType = UIImagePickerControllerSourceTypeCamera;
}
return _imagePicker;
}
Run Code Online (Sandbox Code Playgroud)
然后你可以稍后再称它为:
[self presentViewController:self.imagePicker animated:YES completion:nil];
Run Code Online (Sandbox Code Playgroud)
据我所知,这只是iOS 7中UIImagePickerController的一个问题.以前的版本似乎没问题.
| 归档时间: |
|
| 查看次数: |
3898 次 |
| 最近记录: |