0

写真を撮った後、画像を切り取ってみました。これは非 Retina デバイスで正常に動作します。しかし、Retina デバイスでメモリ警告を受け取りました。コメントアウトしたときに画像をカットするときにメモリリークがあると思いますが、問題はありません。

コード:

- (void) imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
{
    UIImage *image = [info objectForKey:UIImagePickerControllerOriginalImage];
    CGSize imageSize = image.size;
    CGFloat width = imageSize.width;
    CGFloat height = imageSize.height;
    CGFloat newDimension = 2360;
    CGFloat widthOffset = 20 * [[UIScreen mainScreen] scale];
    CGFloat heightOffset = 135 * [[UIScreen mainScreen] scale];

    UIGraphicsBeginImageContextWithOptions(CGSizeMake(newDimension, newDimension), NO, 0.);
    [image drawAtPoint:CGPointMake(-widthOffset, -heightOffset)
             blendMode:kCGBlendModeCopy
                 alpha:1.];

    productImage = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();

    [self dismissViewControllerAnimated:NO completion:nil];

    ...
}

写真を撮った後初めて、メモリ警告が表示されましたが、クラッシュしませんでした。カメラを再開しようとすると、アプリがクラッシュしました。誰か助けてくれませんか?ありがとう

4

1 に答える 1