如何查看应用启动时的堆使用情况?

时间:2011-12-02 19:16:01

标签: java android memory-management monitoring ddms

我正在尝试查看启动应用程序的内存使用情况,但我知道监控使用情况的唯一方法是通过DDMS拍摄快照。显然,我不能快速设置并在流程开始后拍摄快照。我需要绘制使用情况以查看它的峰值。有什么简单的方法吗?理想情况下,很高兴看到每个进程有多少内存使用量。我意识到这是一个相当复杂的请求,我只是觉得值得问一下,因为它可以节省我在试验和错误中的大量工作。谢谢你的任何想法!

2 个答案:

答案 0 :(得分:0)

我通常按照android doc(DDMS部分)中指出的步骤进行操作,您可能已经看过它了:

  • 在“设备”选项卡中,选择要查看其堆信息的进程。
  • 单击“更新堆”按钮以启用该进程的堆信息。
  • 在“堆”选项卡中,单击“原因GC”以调用垃圾收集,从而启用堆数据的收集。操作完成后,您将看到一组对象类型以及为每种类型分配的内存。您可以再次单击“原因GC”以刷新数据。
  • 单击列表中的对象类型以查看条形图,该条形图显示为特定内存大小分配的对象数(以字节为单位)。

无论如何,我希望它会有所帮助!

答案 1 :(得分:0)

Hacky方式。

在创建时在应用程序中添加Sleep(15000)。