【问题标题】:How to see heap usage on app start up?如何查看应用程序启动时的堆使用情况?
【发布时间】:2011-12-02 19:16:00
【问题描述】:

我正在尝试查看启动应用程序的内存使用情况,但我知道监控使用情况的唯一方法是通过 DDMS 拍摄快照。显然,在流程开始后,我没有足够快的速度来设置和拍摄快照。我需要绘制使用情况图表以查看其峰值。有什么简单的方法可以做到这一点?理想情况下,很高兴看到每个单独的进程有多少内存使用量。我意识到这是一个非常复杂的请求,我只是认为值得一问,因为它可以为我节省大量的试错工作。感谢您的任何想法!

【问题讨论】:

    标签: java android memory-management monitoring ddms


    【解决方案1】:

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

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

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

    【讨论】:

    • 是的,但正如我所说,使用 DDMS,该过程已经开始并且 gc 已经运行了至少一次。正如我所说,我需要在此之前查看内存使用情况,而应用程序正在运行它的初始循环并加载它的所有资源。那就是我遇到问题的地方。所以这对我没有帮助。
    • 我明白了……唯一的办法就是以编程方式检查内存使用情况,请参阅这篇文章了解更多信息stackoverflow.com/questions/2298208/…
    【解决方案2】:

    Hack 方式。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-04-10
      • 1970-01-01
      • 2013-05-20
      • 2021-05-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-09
      相关资源
      最近更新 更多