0

我使用内存分析器工具来检测内存泄漏。我通过 java.util.WeakHashMap$Entry 类 java.lang.Class @ 0x3790f200 System Class 得到结果,Native Stack 保留了大部分堆空间。如何识别这是哪个对象?

4

1 回答 1

1

如果要查找该特定对象(地址为 0x3790f200),请单击内存分析器工具工具栏上的放大镜图标并输入地址。看到对象后,右键单击它并选择“显示保留集”。这将打开一个新的直方图表,显示由第一个对象 (@0x3790f200) 保存在内存中的所有对象(按其类型分组)。您可以选择“计算最小保留大小”(从工具栏或上下文菜单),将保留堆列附加到表中。单击列标题对表格进行排序,以便您可以查看哪些对象保留了大块内存。

从那时起,您可以使用上下文菜单中的命令(例如“列出具有传出引用的对象”)通过查看单个对象来进一步调查。检查器窗口对于检查单个对象的字段也很有用。希望这个对你有帮助。

于 2012-11-16T14:47:50.930 回答