我在我的iOS5和XCode4.2应用程序中使用UIImagePickerController,发现了内存泄漏,但我不知道为什么会出现这种泄漏,请问您能否为我解答此问题。
以下是我附加的截图:
还有我的代码:
以下是我附加的截图:
![here i am attaching my screen shot:](https://istack.dev59.com/qHmSw.webp)
-(void)createImagePicker
{
_picker = [[UIImagePickerController alloc] init];
_picker.sourceType = UIImagePickerControllerSourceTypeCamera;
_picker.cameraCaptureMode = UIImagePickerControllerCameraCaptureModePhoto;
_picker.allowsEditing = YES;
_picker.showsCameraControls = NO;
_picker.cameraDevice = UIImagePickerControllerCameraDeviceRear;
_picker.delegate = self;
_picker.wantsFullScreenLayout = YES;
}
和viewWillAppear方法:
-(void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(closeCameraButton:) name:@"ShowMainView" object:nil];
[self createImagePicker];
[m_cameraOverlayView setBackgroundColor:[UIColor clearColor]];
[self presentModalViewController:_picker animated:NO];
_picker.cameraOverlayView = m_cameraOverlayView;
[cameraImgView setHidden:YES];
[filterView setHidden:YES];
m_cameraOverlayView.hidden = NO;
cameraSelectedButton.hidden = NO;
cancelButton.hidden = YES;
selectButton.hidden = YES;
for (id Object in [scrollview subviews])
{
if([Object isKindOfClass:[UIButton class]])
{
[Object removeFromSuperview];
}
}
[m_toolbarImage setFrame:CGRectMake(0, 427, 320, 55)];
[cameraSelectedButton setFrame:CGRectMake(128, 432, 86, 44)];
[m_cancelButton setFrame:CGRectMake(10, 434, 82, 40)];
[m_cancelButton setTitle:@"Close" forState:UIControlStateNormal];
[m_cancelButton setBackgroundImage:[UIImage imageNamed:@"menu-bar-button.png"] forState:UIControlStateNormal];
[m_cancelButton setTitleColor:[UIColor colorWithRed:110/256.0 green:52/256.0 blue:28/256.0 alpha:1.0] forState:UIControlStateNormal];
[cancelButton setFrame:CGRectMake(120, 434, 35, 35)];
[selectButton setFrame:CGRectMake(184, 434, 35, 35)];
}
createImagePicker
方法... - lxt[_picker release]
? - lxtviewWillDisappear:(BOOL)animated
方法中移除观察者。使用以下代码:[[NSNotificationCenter defaultCenter] removeObserver:self name:@"ShowMainView" object:nil];
- Aleksander Azizi