2015-12-14 6 views
9

に割り当て計装テンプレートの永続と一時カラムによって意味は何。チュートリアルhttp://www.raywenderlich.com/97886/instruments-tutorial-with-swift-getting-started私が見つけた "永続的な列は、現在メモリに存在する各種類のオブジェクトの数のカウントを保持します。一時的な列は、存在していたが割り当てが解除されているオブジェクトの数を示します。メモリを使用して、一時オブジェクトは、そのメモリが解放持っていた。enter image description here本当に私は<strong>割当テンプレート</strong>で<strong>過渡</strong>と<strong>永続</strong>列の意味が何であるかを理解しようとしていますXcodeの

を上記の説明によると、画像から統計表内の選択された行から、それは言うことができる、NSFileManager現在の2つのオブジェクトが記憶に存在し、19番には存在しない。のオブジェクトが作成され、既に解放されています。

しかし、iOSアプリケーションの最適化やパフォーマンスの問題とはどういう意味ですか? 19のトランジェントオブジェクトの数がかなり多いのと同じように、アプリの有効なメモリのユーザビリティや他の何かを増やすためにできるだけ小さくする必要がありますか?

答えて

4

短期間でパフォーマンスを最適化するということは、アプリを生き生きとして敏感に保つことを意味します。 最適化のキー・メトリックは、1つのオブジェクトの一時的または永続的なカウントではありません。

NSFileManagerは、オブジェクトごとに16バイトを使用しています。 これは現在32の永続的(2 * 16)と336(21 * 16)の合計です。

高い永続メモリは、指定したオブジェクトの現在のフットプリントが非常に高いことを示します。高総メモリは、(これらの割り当てのサブセットが同時だった場合)あなたのメモリフットプリントは、あなたのアプリが原因で行われ、複数のページスワップのパフォーマンスに遅く増加すると、過去の自分の足跡が

 
While optimizing you should focus on mainly two aspects: 
1. How much is the minimum memory foot print when your app loads. 
2. How much is the maximum memory foot print. (You need to come up with use cases to figure out this one). 

高であったかもしれないことを示していますOSを使用してメモリを解放します。 VMトラッカー機器でこれを追跡することができます。最適化とは、平均メモリ占有量をそのポイントより低く保つことです。

関連する問題