В чем разница между android и стандартным файлом hprof? - PullRequest
0 голосов
/ 07 августа 2020

Недавно я занимаюсь исследованием Android файла hprof. Но соответствующих документов оказалось меньше, чем я ожидал. Я могу получить только стандартный двоичный формат файла hprof в документах Oracle.

В библиотеке haha ​​(теперь называемой утечкой) я видел, что некоторые сегменты, такие как сводка кучи и выборка процессора, были опущены при синтаксическом анализе.

Итак, мне интересно, где я могу найти подробную информацию об этих различиях между android и стандартным файлом hprof.

1 Ответ

1 голос
/ 12 августа 2020

Отличия нигде не документированы. Библиотека ха-ха была переупаковкой исходных кодов парсеров дампа кучи, у LeakCanary теперь есть собственный анализатор кучи.

Если вы посмотрите на разницу между https://bitbucket.org/vshor/mat/src/default/ и https://github.com/joebowbeer/andromat вы увидите, что было необходимо, чтобы ранние версии HAHA работали на Android. Это обобщено в этом коммите: https://github.com/square/haha/commit/65138abda1fab0ea9c10b05e7bdbe1cf54d0041b

Shark , новый анализатор дампа кучи LeakCanary, работает как с дампами кучи JVM, так и с дампами кучи Android, поэтому вы могли посмотреть источники

...