加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

objective-c – iOS5上的UIImagePickerController内存泄漏

发布时间:2020-12-14 19:27:00 所属栏目:百科 来源:网络整理
导读:我正在我的应用程序中使用UI ImagePickerController在iOS5 XCode4.2,内存泄漏,我不知道为什么我得到这个泄漏你能请给我答案. 和我的代码: -(void)createImagePicker {_picker = [[UIImagePickerController alloc] init];_picker.sourceType = UIImagePicker
我正在我的应用程序中使用UI ImagePickerController在iOS5& XCode4.2,内存泄漏,我不知道为什么我得到这个泄漏你能请给我答案.

和我的代码:

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

}

和viewWillApper方法:

-(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,35,35)];
    [selectButton setFrame:CGRectMake(184,35)];

    }

解决方法

无论是否使用ARC,这似乎是iOS 5中UIImagePickerController的一个问题.

我有一个使用xcode 3.2.5为iOS 4开发的应用程序,当从图书馆拍摄或选择照片时,仪器显示没有泄漏(在运行iOS 4.1的设备上测试).在运行iOS 5.1的设备上测试的相同代码如上所述泄漏.

我知道这不是一个答案,但问题似乎比原来的问题更广泛.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读