86

私はInstumentのObjectAllocツールを使用して、アプリケーション(iPhone)が実行しているメモリと、それを実行している時間と場所を理解しようとしています。

これらの統計の基本的な説明が本当に必要です。

  • ライブバイト
  • #生活
  • #Transitory
  • 全体のバイト数

アプリケーションが使用しているメモリの量を計算しようとしているとき、ライブバイトまたは全体のバイトを確認しますか?これには、リークされたメモリが含まれますか?一時的なオブジェクトとは何ですか?

ありがとう

4

2 に答える 2

110

ObjectAllocプログラムの実行中に、すべてのメモリ割り当てと割り当て解除を追跡します。

これLiving bytes, or Net bytesは、タイムラインで選択したときにアプリケーションが使用しているメモリの量です。リークされたメモリの割り当てが解除されることはないため、これにはリークされたメモリが含まれます。

#Living特定のサイズ/オブジェクトタイプの割り当てが発生した(そしてまだ割り当てられている)数です。これは、リークを探すときに非常に役立ちます。

たとえば、アクションを繰り返し実行し(モーダルビューコントローラから出るなど)、#Livingオブジェクトのアクションが毎回同じ量だけ大きくなることがわかった場合は、それらのオブジェクトがリークしている可能性があります。次に、ドリルダウンしてオブジェクトを割り当てているコードの正確な行を確認し、それぞれが作成されたタイムインデックスを確認することで確認できます。

Overall bytes解放されたメモリが含まれます。パフォーマンスを最適化する目的でその数を追跡することは有用ですが、現在のメモリフットプリントを確認したり、リークを探したりするだけの場合はそうではありません。

于 2010-01-28T15:53:12.923 に答える
18

アップルドキュメントからの統計の説明。 ドキュメントへのリンク

ここに画像の説明を入力してください

ここに画像の説明を入力してください

于 2012-11-30T05:12:07.367 に答える