Java 如何直接从Android获取堆转储?

Java 如何直接从Android获取堆转储?,java,android,Java,Android,我只想知道如何直接从设备获取应用程序的堆转储。我已经从Eclipse内存分析器(MAT)获得堆转储,但它从emulator提供堆转储 请给我一些链接。步骤1:购买Android设备 步骤#2:如果设备没有附带USB电缆,请购买USB电缆连接设备和开发机器 步骤#3:在设备上启用USB调试(取决于Android操作系统版本,这可能在“开发者选项”或设置应用程序的“应用程序”中) 步骤4:将USB电缆插入设备和开发机器 第5步:在设备上运行应用程序 步骤#6:在DDMS中,单击设备视图中的进程,获取

我只想知道如何直接从设备获取应用程序的堆转储。我已经从Eclipse内存分析器(MAT)获得堆转储,但它从emulator提供堆转储

请给我一些链接。

步骤1:购买Android设备

步骤#2:如果设备没有附带USB电缆,请购买USB电缆连接设备和开发机器

步骤#3:在设备上启用USB调试(取决于Android操作系统版本,这可能在“开发者选项”或设置应用程序的“应用程序”中)

步骤4:将USB电缆插入设备和开发机器

第5步:在设备上运行应用程序

步骤#6:在DDMS中,单击设备视图中的进程,获取在设备上运行的应用程序副本

步骤#7:单击设备视图工具栏中的“转储HPROF文件”图标(看起来像一个带向下箭头的半满罐子)


换句话说,通过选择要转储的进程并请求转储,您从设备获得堆转储的方式与从仿真器获得堆转储的方式完全相同。

您的意思是,当应用程序在
实际的
android设备上运行时,您想获得堆转储吗?或者从模拟器内的JVM?谢谢。。它为我提供了优化内存的帮助。这是一个惊人的帮助,,感谢您提供了分步解决方案。您如何在应用程序代码中以编程方式实现这一点,或者如何更好地获得appium测试来告诉应用程序进行堆转储?@FarrukhNajmi:根据代码,使用。我从未使用过Appium,因此无法对此发表评论,抱歉。