2012-09-21 8 views
6

Ho sviluppato un'applicazione, voglio controllare la perdita di memoria che si verifica nell'app. Sto provando con eclipse MAT, ma senza successo, sto ottenendo il file HROF ma eclipse MAT non è in grado di leggerlo. Qualcuno può aiutarmi. Qualsiasi altro modo per scoprire.Android: come testare la perdita di memoria in un'applicazione?

+0

E hai letto questo post: http://android-developers.blogspot.com/2011/03/memory-analysis-for-android.html quindi cosa c'è di confuso? –

+0

Ho attraversato questo. Ho anche il file di scarico dell'heap. quando ho provato ad aprirlo nell'analizzatore di memoria di eclissi i.e MAT mostra che il file non può essere letto. –

risposta

4

Il file dump.hprof di Android deve essere convertito. Quindi puoi aprire convert-dump.hprof in MAT.

hprof-conv dump.hprof converted-dump.hprof 
+0

Morrison-- oohk .. Grazie. Penso di aver dimenticato di convertirlo .. Lo proverò e lo saprò .. –

+0

Grazie a @morrison .. convertito perfettamente funzionante e ottenuto i rapporti di perdita di memoria .. –

3

Ho trovato il video this molto utile. Questo parla di cose come come trovare le perdite di memoria da logcat (log di Garbage Collector) e come usare memory analyzer (MAT).

+0

Sujith .. grazie .. Ho passato attraverso questo video. . fantastico video per ottenere la conoscenza dell'analizzatore di memoria (MAT). –

1

@sujith Il video è molto buono. Per riassumere, 1) il video parlava di una perdita molto difficile da trovare da parte di "classe interiore non statica". C'è una spiegazione dettagliata su questo in this page. 2) Ha parlato di alcuni concetti importanti quando si utilizza lo strumento dell'analizzatore della memoria, ad esempio heap superficiale, heap mantenuto, radice GC e albero del dominatore. 3) Ha mostrato un esempio dell'utilizzo di MAT per identificare una perdita. In MAT lo strumento più utile da lui detto sono Istogramma e Dominator Tree. Esaminando ulteriormente un oggetto, ha utilizzato il menu di scelta rapida "Percorso per GC Root" e quindi "Escludi riferimenti deboli".