Eclipse内存分析器 - 帮助查找泄漏

时间:2012-07-17 19:55:28

标签: android eclipse memory-management memory-leaks eclipse-memory-analyzer

我正在尝试在Android应用程序中查找内存泄漏。 我有以下情况:

A类创建了一个创建线程的A $ 24类。这个线程引用了A类,所以这就是泄漏。 我知道A $ 24是在A类中创建的匿名类,但是我如何才能找到创建的位置,代码中的哪一行。 我的问题是要了解谁是有问题的线程。

1 个答案:

答案 0 :(得分:1)

资源透视图项目浏览器中使用视图菜单,选择“自定义视图...”并取消选中“内部类文件”和“Java输出文件夹” ”。现在,您应该在“bin”文件夹中看到项目资源管理器中生成的类文件。

如果您导航到A $ 24.class文件,则可以双击打开它。在顶部寻找关于字段选择器的行,比如

 // Field descriptor #10 Z
  private final synthetic boolean val$fStartMinimized

在此示例中,匿名类使用最终字段 fStartMinimized (因此将其复制到匿名类中)。使用该字段名称,您应该能够找到有问题的任何类。

如果没有这样的字段声明(也没有方法名称给你一个线索),那么你可以通过ByteCode outline plugin获得更多的洞察力(但我自己从未使用过它)。

相关问题