あなたはChrome開発者ツールをディスリスペクトしますが、私が知る限り、それらはあなたが得た最高のものです。あなたはそれらを慎重に使用する必要があります。
アプリケーションのアクションによってメモリリークが発生するかどうかをテストするとします。ビューのレンダリング、またはいくつかの新しいデータのフェッチである可能性があります。これをと呼びましょうAction
。
予約されているメモリの量と保持されているメモリの量を確認するには、最初に測定可能なベースラインを取得し、ノイズを取り除く必要があります。これらを実現するには、3つのステップが必要です。
準備し始める
アプリケーションを起動します(Webサイトに移動します)。実行しAction
ます。ヒープスナップショットを作成します。このスナップショットは破棄されますが、GCが実行され、クリーンな状態になります。ウォームアップにより、測定可能なデータ(スクリプトの評価、リソースの非同期読み込みの初期読み込みなど)にファズが発生しないようにすることもできます。
ベースライン
Action
3回実行します。ヒープスナップショットを作成します。これは、メモリの保存と保持を比較するベースラインです。Action
実行パスに小さな変動がある場合に備えて、適切な平均を取得するために3回実行します。Action
毎回まったく同じ方法で繰り返すようにしてください。
計測
Action
3回実行します。ヒープスナップショットを作成します。
これで、3つのスナップショットが作成されます。最初のものは破棄されますが、私たちにとって興味深いのは、スナップショット2と3の間に割り当てられたオブジェクトの概要と、スナップショット3からスナップショット2へのデルタ比較です。これらのビューは、プロファイルの下部/ステータスバーから見つけることができます。見る。
ベースラインと測定のシェイプショットの間に表示されるデータは、の真のメモリプロファイルですAction
。その後、データを正しく解釈する方法を知る必要があります。そのために、プロファイラーに関するGoogleのドキュメントをお勧めします。
現時点では、これ以上のツールや方法はないと思います。もしそうなら、私はそれについて聞きたいです。