web-dev-qa-db-ja.com

Android studioを使用してメモリを分析する方法

最近、EclipseからAndroid studioに切り替えます。 Android studioでアプリのヒープとメモリの割り当てを確認する方法は? Eclipseでは、MATにヒープダンプ、hprofファイルをチェックするものがスタジオにありますか?

72
Prachi

手順を使って簡単に説明します。

  1. 最初に、インストールMATdownload )または使用します:

    醸造キャスクインストールメモリーアナライザー

  2. Android St​​udioでAndroid Device MonitorまたはDDMSを開きます。

  3. プロセス「com.example.etc。」を選択します

  4. プロセスリストの上にある[ヒープの更新]をクリックします。

  5. 右側のパネルで、「ヒープ」タブを選択します。

  6. 原因GCをクリックします。

  7. プロセスリストの上にある[HPROFファイルをダンプ]をクリックします。

  8. HPROFファイルをダウンロードしたら、ターミナルを開いてこのコマンドを実行し、MATで開くファイルを生成する必要があります。

  9. ターミナルを開き、このコマンドを実行します

./hprof-conv path/file.hprof exitPath/heap-converted.hprof

コマンド「hprof-conv」は、sdkのplatform-toolsフォルダーにあります。

  1. そして、準備ができていれば、MATは変換されたファイル(heap-converted.hprof)を開いたり開いたりできます。
119
TeRRo

割り当てを確認する別の方法があります。

Start and stop allocation tracking

See the result

39
cVoronin

Androidモニター->モニター(logcatの横)->メモリー-> dump Java heap

enter image description here

13
Jay

以下の手順を除き、上記の回答に同意します

  1. プロセスリストの上にある[ヒープの更新]をクリックします。

  2. 右側のパネルで、「ヒープ」タブを選択します。

  3. 原因GCをクリックします。

DDMSでアプリ/プロセスを選択し、クリックしてHPROFプロファイルオプションをダンプします。その後、上記の手順を正確に実行します。

3
Akshay

次の方法でオプションを追加することもできます。

  1. ツールに移動します
  2. 次に、Android
  3. 最後にAndroid Device Monitor
3
Arade
  1. 最初のインストール MAT 、Android St​​udioで使用するには、Stand-alone Eclipse RCP Applicationsを選択してインストールします。これは独立したツールとして使用できます

  2. Android St​​udioで、アプリケーションを実行します

  3. 下部のパネルで、6:Androidを選択してから、Memory Monitorを選択します

  4. Dump Java Heapをクリックします

  5. [キャプチャ]タブ(左側のパネル)に切り替えると、.hprofファイルがHeap Snapshotフォルダーにあります。

  6. MATで.hprofファイルを開くには、形式を変換する必要があります。.hprofファイルを左クリックし、Export to standard .hprofを選択します

  7. MATを開き、フォーマットを変換した.hprofファイルを開きます

3
Icy Tsai

最新のAndroid St​​udio(1.3+)では、ヒープ(Android hprof)キャプチャがAndroidタブ(cVoroninの最初の画像のように)の下の[メモリモニター]サブタブに移動されました。回答)。

キャプチャが完了すると、プロジェクトの下の「captures」ディレクトリに自動的に保存されます(必要に応じてファイル名を変更できます)。 hprofファイルは、1.3以降の新しいhprofビューアーで自動的に開かれます。

もちろん、常に標準のhprof形式に変換してMATで表示するオプションがあります。 (プロジェクトブラウザの下の)キャプチャブラウザでファイルを右クリックし、そこで変換を選択します。通常のように、標準のhprofはこれらをサポートしていないため、新しいビューアーを使用しないと、途中で追加のAndroid固有の情報が失われます。

2
dunno

EclipseからAndroid St​​udioに切り替えましたが、DDMSプラグインを使用してEclipseで引き続きMATを使用します。とても簡単です。

2
Christine

これはかなり古い質問ですが、Android St​​udio 3にはプロファイラーが組み込まれています。

こちらのドキュメントを参照してください。 Android St​​udio 3.0のAndroidプロファイラー

1
dankito