Eclipse MemoryAnalyzer如何工作?

时间:2013-04-17 18:13:50

标签: android eclipse heap ddms

我正在尝试从Eclipse应用程序的堆转储中找到一个String,这是我从Eclipse的DDMS中获取的。我使用SDK的hprof-conv转换了文件。现在如果我在Eclipse MemoryAnalyzer中打开文件,它会给我一个堆栈中的字符串列表,这很棒!我找到了我需要的东西。但是,我正在尝试编写一个脚本,它将从堆转储中获取我正在寻找的String。我遇到的问题是,当我在转储上运行字符串或通过十六进制编辑器运行转储时,我没有看到这个字符串。我不明白MemoryAnalyzer在哪里获得我正在寻找的字符串。任何人都知道这里发生了什么?感谢。

1 个答案:

答案 0 :(得分:0)

Java在内部对字符串使用UTF-16字符编码。因此,如果在转储上使用十六进制编辑器,则可能需要在该编码中搜索搜索词。