我的图片选择器初始化为:
self.imgPicker = [[UIImagePickerController alloc] init];
self.imgPicker.allowsEditing = YES;
self.imgPicker.delegate = self;
self.imgPicker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
介绍:
苹果乐器说: 在调用选择器之前使用的内存是3 Mb.While选择器在功能12Mb。虽然编辑图像是28Mb而我的应用程序崩溃。有人确实找到了解决方案吗?[self initImagePickerFromLibrary]; ----(这称之为我之前提到的那些)
[self presentModalViewController:self.imgPicker animated:YES]; [imgPicker release];
答案 0 :(得分:3)
我想到的一件事是你正在做self.
,这可能意味着您的图像选择器会被保留两次。有一次,因为你正在分配它,因为你正在使用一个setter。
@property
的{{1}}行是什么样的?它有imgPicker
吗?如果是,您应该将上面第一个引用中的第一行更改为:
retain
即。删除imgPicker = [[UIImagePickerController alloc] init];
。
同样在第二行,您将直接发布self.
。如果您的imgPicker
确实有保留,则应该执行以下操作:
@property
原因是self.imgPicker = nil;
合成在设置时保留并释放对象。如果@property
release
未将其设置为imgPicker
,然后再尝试将其设置为新值,系统将尝试nil
已经release
释放对象,可能会崩溃。以上内容与:
[imgPicker release];
imgPicker = nil;