現在巨大な画像(例として8K画像)を数枚作成するプログラムを作成しているのですが、
どうにもメモリの解放が出来ておらず、途中でアプリがクラッシュしてしまいます。
該当のソースコード
UIImage *img; @autoreleasepool{ UIGraphicsBeginImageContext(size); [img drawInRect:CGRectMake(0, 0, size.width, size.height)]; img = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext(); }
調べたところこの部分の
UIGraphicsGetImageFromCurrentImageContext()
にてメモリを大量に消費しているようで、
imgを使い終わった後にnilを代入しても依然としてメモリが解放される様子がありませんでした。
調べてもUIGraphicsのメモリ解放に関しての記事等はほとんどなく、手詰まりの状態です。
唯一近かったのはこちらの記事の2番目の回答です。
ただちょっと解法が私のものと合っていないように感じました。
UIGraphicsGetImageFromCurrentImageContext memory leak with previews
メモリ解放に関して未だ理解していない部分が多いため、どなたかご教授いただければ幸いです。
あなたの回答
tips
プレビュー