android和标准的hprof文件有什么区别?

What is the difference between android and standard hprof file?

最近在研究Android hprof文件分析。 但是相关的文件好像比我预想的要少。我只能在Oracle文档中获取标准二进制格式的hprof文件。

在哈哈库(现在叫leakcanary)中,我看到一些段,比如Heap Summary和CPU Sampling,在解析时被省略了。

所以我想知道在哪里可以找到有关 android 和标准 hprof 文件之间这些差异的详细信息。

任何地方都没有记录差异。 haha 库是堆转储解析器源的重新打包,LeakCanary 现在有自己的堆分析器。

如果你看看https://bitbucket.org/vshor/mat/src/default/ and https://github.com/joebowbeer/andromat you'll see what was necessary to make early versions of HAHA work on Android. That's summarized in this commit: https://github.com/square/haha/commit/65138abda1fab0ea9c10b05e7bdbe1cf54d0041b

之间的区别

Shark, the new LeakCanary heap dump analyzer, works with both JVM heap dumps and Android heap dumps so you could look at the sources