2011-12-05 16 views
1

私はiPadアプリを書いていますが、私はdrawRectを上書きして一組の描画を行うカスタムビューを持っています。私はsetNeedsLayoutを呼び出すタイマーを持ってグラフィックをリフレッシュします。iOS drawRect:グラフィックスコンテキストをクリアすることはできますか?

私のアプリケーションをプロファイルすると、アニメーションが展開されると、アプリケーションによって占有されるメモリが1.5MBから600MBになることがわかります。

また、以前に描画されたグラフィックは消えないので、新しいグラフィックスを再描画する前に白い四角形を描画します。

私はいくつかのパスや形状が文脈に残っていると推測しています。どのように私はそれをクリアすることができます(それからすべてを削除する)?

答えて

1

グラフィックスコンテキストをクリアすることではありません。あなたはおそらくオブジェクトを漏らしています。インストゥルメントのリークテンプレートを使用して、それらを追跡するのを助けます。 drawRect:コードを投稿すると、リークが発生することがあります。

+0

ありがとうございました!私はメモリリークがないことを確認したし、何も持っていなかった。それが分かったので、私はインストゥルメントを間違って読んでいると思います。私は、 "ライブバイト"列の代わりに "全体バイト"列を見ていました。すべての割り当ての "Live Bytes"が635KBを超えることはありません。私がdrawRectの中で何か間違っていないことを確認するのを助けてくれてありがとう! – onetamer

関連する問題