私はここで本当に混乱しています。Cocoa Touch で画像処理を行っていますが、すべてうまくいきます。私のアプリは約 120MB のメモリを使用しますが、これは問題なく、Instruments を使用して確認したリークはまったくありません。ただし、画像処理クラスの完全に新しいインスタンスを使用してルーチンを 2 回実行すると (もちろん最初のインスタンスを削除した後)、iPhone 4 でアプリがクラッシュします。iPad 3 でも問題なく動作します。「CGContextDrawImage( )」はクラッシュします。明らかに、スローされた例外などはありません。十分なメモリが利用できるはずなので、これがなぜなのか本当にわかりません。iPad 3 の Instruments で実行すると、 が 120MB を超えるメモリを使用しないことがわかります。
以下のクラッシュの原因となっているコードを見つけてください。繰り返しますが、これを 2 回目に実行したときにのみ、iPhone 4 でのみクラッシュします。
CGImageRef imageref = [image1 CGImage];
uint8_t *inBitmap1 = (uint8_t *) malloc(vectorsizeI);
CGContextRef context1 = CGBitmapContextCreate(inBitmap1, width, height, bitsPerComponent, bytesPerRowI, colorSpace, kCGImageAlphaNoneSkipFirst);
CGContextDrawImage(context1, CGRectMake(xOffset1, yOffset1, imwidth, imheight), imageref);