2014-07-03 28 views
71

Passare di recente ad Android Studio da Eclipse. Come controllare l'heap di app e l'allocazione di memoria in Android Studio? In Eclipse abbiamo MAT c'è qualcosa in studio per controllare il dump dell'heap, il file hprof?Come analizzare la memoria tramite Android Studio

risposta

118

sarò spiegarlo in modo semplice con gradini:

  1. In primo luogo, si deve installare MAT (download) o l'uso:

    birra botte installare memoryanalyzer

  2. In Android Studio aperto Android Device Monitor o DDMS.

  3. Selezionare il processo di "com.example.etc .."

  4. fare clic su Aggiorna Heap sopra la lista dei processi.

  5. Nel pannello di destra, selezionare la scheda Heap.

  6. Fare clic su Causa GC.

  7. Fare clic su Scarica file HPROF sopra l'elenco dei processi.

  8. Quando abbiamo scaricato il file HPROF, dobbiamo aprire il Terminale ed eseguire questo comando per generare il file per aprirlo con MAT.

  9. Apri terminale ed eseguire questo comando

./hprof-conv percorso/file.hprof exitPath/mucchio-converted.hprof

Il comando "hprof-conv" è nella cartella degli strumenti di piattaforma di sdk.

  1. E ready e MAT possono aprire e aprire il file convertito (heap-convert.hprof).
+0

curioso di sapere quello che dovrebbe accadere quando dumping hprof; dopo aver fatto clic su quell'opzione, non sembra che accada nulla. A che punto dovrebbe esserci qualche indicazione che è stato completato il dump e dove mette l'output? Grazie. – wkhatch

+1

@wkhatch, può richiedere del tempo per la visualizzazione della finestra di dialogo. Dovresti vedere una finestra che chiede la posizione di salvataggio. Nel caso in cui aiuti qualcun altro, non mi sono reso conto che il link per il download MAT è un download indipendente (open mat.app). Ho pensato che fosse solo un collegamento al plugin Eclipse. – loeschg

+0

Grazie a @loeschg. L'ho fatto lavorando a un altro tentativo. Per qualche ragione, ha semplicemente bloccato le prime volte che l'ho provato. – wkhatch

3

Sono d'accordo con risposta di cui sopra, tranne i passaggi qui sotto

  1. fare clic su Aggiorna Heap sopra la lista dei processi.

  2. Nel pannello di destra, selezionare la scheda Heap.

  3. Fare clic su Causa GC.

Non sono necessari. Seleziona la tua app/processo in DDMS e fai clic per scaricare l'opzione profilo HPROF. Successivamente, segui i passaggi esattamente come sopra.

39

c'è un altro modo di vedere le allocazioni:

Start and stop allocation tracking

See the result

+13

Il pulsante è stato spostato nella scheda "Memoria", ora. – PiTheNumber

3

Si può anche effettuare le seguenti operazioni per ottenere più opzioni,

  1. Vai Strumenti
  2. Quindi a Android
  3. infine Android Monitoraggio dispositivo
3
  1. Per prima cosa installare MAT, al fine di utilizzarlo in Android Studio, si deve scegliere il Stand-alone Eclipse RCP Applications da installare, che può essere utilizzato come strumento indipendente

  2. In Android Studio, eseguire l'applicazione

  3. In fondo Pannello -side, selezionare 6:Android, quindi selezionare Memory Monitor

  4. Clicca Dump Java Heap

  5. Passare alla scheda Cattura (nel riquadro di sinistra), è possibile trovare il file nella cartella .hprofHeap Snapshot

  6. Per aprire il file .hprof in MAT, devi convertire il formato: con il tasto sinistro del mouse sul file .hprof, quindi scegliere Export to standard .hprof

  7. .210
  8. Aperto MAT, quindi aprire il file .hprof che si è convertito nel formato

1

Si noti che nella più recente Studio Android (1.3+), la cattura mucchio (hprof Android) è stato spostato al monitor di memoria sottotabella nella scheda Android (come la prima immagine nella risposta di cVoronin).

Quando l'acquisizione è terminata, verrà automaticamente salvata nella directory "catture" sotto il progetto (è possibile rinominare il file dopo il fatto se lo si desidera). Il file hprof verrà automaticamente aperto nel nuovo hprof viewer in 1.3+.

Ovviamente, hai sempre la possibilità di convertirlo in formato hprof standard e visualizzarlo in MAT. Basta fare clic con il pulsante destro sul file nel browser Acquisisci (sotto il browser Progetto) e selezionare Converti lì. E come al solito, perderesti alcune informazioni aggiuntive specifiche per Android lungo il percorso non utilizzando il nuovo visualizzatore, poiché hprof standard non supporta quelle.

2

Sono passato da Eclipse ad Android Studio, ma utilizzo ancora MAT in Eclipse, con il plugin DDMS. È molto più facile

+0

Da quando l'ho pubblicato, Android Studio ha notevolmente migliorato i suoi strumenti di analisi. Ora utilizzo AS per l'analisi. – Christine

14

Android Monitor -> Monitor (accanto logcat) -> Memoria -> discarica java mucchio

enter image description here

Problemi correlati