2013-12-11 11 views
7

は、私はここで説明するようメモリリークの原因を見つけようとしています:CGラスタデータ - CGProviderCreateWithCopyOfData - リリースできません。

Unable to Release Quartz 2D and Core Text created Images

私は解放されることはありません着実大きさに成長してCGラスター・データと呼ばれるものがあることがわかります楽器を使用した場合。

これを引き起こしている可能性があることと対処方法を知っている人はいますか?これは画像キャッシュのようなものかもしれませんが、コードからこれをフラッシュすることは可能ですか?

+0

この画面を閉じるとメモリが解放されますか?そうであれば、イメージを使用するコードの周りに@autoreleasepoolを追加する必要があります(これはループかもしれません)。 –

+0

コードを添付できますか? –

答えて

0

View Controllerを繰り返し押してポップするだけで、CG Raster Dataメモリで同じ問題が発生しました。私はそれがいくつかの描画コードの問題であると考えていました。私は最後にプッシュとポップされていたビューコントローラを弱く参照していないデリゲートを追跡しました。そのため、ビューコントローラをポップしたときに割り当て解除されませんでした。 CG Raster Dataは、View Controllerのフットプリントの最大の部分であったため、私は間違いなくその問題を、最初はリリースされていなかったView Controller自体であると誤解していました(したがって、 CGラスターデータを持っていました)。

CG Raster Dataでメモリリークが発生している場合は、ビューを持つ可能性のあるビューコントローラを見て、それらが解放されていることを確認してください。

関連する問題