写真を撮った後、画像を切り取ってみました。これは非 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];
...
}
写真を撮った後初めて、メモリ警告が表示されましたが、クラッシュしませんでした。カメラを再開しようとすると、アプリがクラッシュしました。誰か助けてくれませんか?ありがとう