UIImagePickerController ImageIO_PNG占用大量内存

时间:2014-05-29 20:46:57

标签: ios memory png uiimagepickercontroller

虽然我在UIImagePickerController完成拍照后调整了图像大小,但我的乐器配置文件显示,每次拍照时,对ImageIO_PNG的调用都会占用大量内存(40 MB +)。这是我的代码:

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info  {
    @autoreleasepool {
        if (myImageView.image == nil) {

            myImageView.contentMode = UIViewContentModeScaleAspectFill;

            UIImage *topImage = [info objectForKey:@"UIImagePickerControllerOriginalImage"];

            UIImage *image = [info objectForKey:UIImagePickerControllerOriginalImage];
            CGRect rect = CGRectMake(0,0,320,440);

            UIGraphicsBeginImageContext( rect.size );
            // use the local image variable to draw in context
            [topImage drawInRect:rect];
            UIImage *topResized = UIGraphicsGetImageFromCurrentImageContext();
            UIGraphicsEndImageContext();

            myImageView.image = topResized;
            image = nil;
            info = nil;

            [picker dismissViewControllerAnimated:NO completion:nil];
            [picker removeFromParentViewController];

1 个答案:

答案 0 :(得分:0)

从您的代码中移除可能有用的下一行:

image = nil;
info = nil;