Heap analysis and visualization
We have learned how to debug threads using DDMS. Now we will learn how to properly analyze the memory heap of an application: that is, the portion of memory where the allocated memory resides. This is very important when it comes to debugging memory leaks.
Let's use a heap dump to track down the problem. Click the icon to dump the HPROF file and choose where you want to save the file. Now run hprof-conv
over the file. hprof-conv
is an Android utility that converts the .hprof
file from the Dalvik format to the J2SE HPROF format, so it can be opened with standard tools. It can be found under /platform-tools
. To run it, you need to type the following:
hprof-conv dump.hprof converted-dump.hprof
Now you will have a file that can be understood by some standard tools. In order to read the file, we will use MAT, a standalone version downloadable from http://www.eclipse.org/mat/downloads.php.
MAT is a very complex and powerful tool. Click on File and open Heap Dump...