2

「#Net」列が最も興味深いと思いますが、それが何を意味するのかはよくわかりません。現在割り当てられているオブジェクトの総数は?何もしなくても常に変化します。

メモリリークがあるかどうかを確認するための適切な「目安」はありますか?

4

2 に答える 2

3

このチュートリアルが役立つ場合があります:http ://www.mobileorchard.com/find-iphone-memory-leaks-a-leaks-tool-tutorial/ 。

また、ソースコードを直接分析する静的アナライザーも利用できます:http://clang.llvm.org/StaticAnalysisUsage.html

于 2009-05-25T01:03:08.217 に答える
2

一般に、すべての基本的な操作を1〜2回実行した後もアプリのメモリフットプリントが増え続ける場合は、メモリリークが発生している可能性があります。合計メモリフットプリントは「ネットバイト」列にあります。「全体」列には、プログラムの実行全体のすべての割り当てが含まれ、「ネット」列には、割り当て解除が差し引かれます。

ただし、私の経験では、「リーク」インスツルメントはObjectAllocよりもメモリリークをキャッチするのにはるかに優れています。Xcodeで[実行]>[パフォーマンスツールで開始]>[リーク]を選択し、プログラムをしばらく実行します。リークがリークされたブロックを表示し始めた場合は、リークが発生しています。すべての割り当てのスタックトレースが表示され、リークされたブロックが保持、解放され、解放されます。スタックトレースをダブルクリックすると、コード内のその場所にジャンプできます。ウィンドウの下部、「Leaked Blocks」ラベルのすぐ左にある小さな半影の四角いボタンをクリックして、「拡張詳細ビュー」をオンにしてください。割り当てのリストを取得するには、ブロックの横に表示される小さな「円の三角形」の開示三角形をクリックします。

于 2009-05-25T01:07:03.450 に答える