Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

UIImagePickerController memory leak on iOS5

i am using UIImagePickerController in my application developing on iOS5 & XCode4.2, getting memory leak and i don't have any idea why i am getting this leak can you please give me the answer for this.

here i am attaching my screen shot:

and my code:

-(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;

}

and viewWillApper method:

    -(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)];

    }
like image 939
Steve Gear Avatar asked May 23 '12 10:05

Steve Gear


2 Answers

This seems to be a problem with UIImagePickerController in iOS 5 whether using ARC or not.

I have an app developed for iOS 4 using xcode 3.2.5 and Instruments shows no leaks when a photo is either taken or selected from the library (tested on a device running iOS 4.1). The same code tested on a device running iOS 5.1 leaks as described.

I know this isn't an answer but the problem seems broader than the original question.

like image 88
dorien Avatar answered Nov 18 '22 20:11

dorien


Just saw that even the source code from apple linked here leaks with the same problem we have...

like image 3
Zillan Avatar answered Nov 18 '22 19:11

Zillan