【问题标题】:how to profile memory usage in dart apps?如何分析飞镖应用程序中的内存使用情况?
【发布时间】:2014-05-11 22:53:50
【问题描述】:

我有this 测试应用程序,用于查看我的飞镖应用程序的内存配置文件。当您单击左上角的“新客户端”按钮时,它将模拟一个新客户端浏览到主机。主机生成一个新的应用程序会话,在这种情况下是一个简单的应用程序,可以创建或删除Massive 对象。大型对象位于主机上,蓝色方块是Massive 对象的客户端表示。我希望如果我创建一堆 Massive 对象然后将它们全部删除,沿途拍摄堆快照,我应该会看到内存使用量随着 Massive 对象计数的增加而增加,然后随着 Massive 的增加而减少对象最终会被垃圾收集,每 5 秒运行一次远程垃圾收集,这会释放主机端的实际 Massive 对象,因此它应该可以让实际的 VM 垃圾收集器清除。

我一直在尝试使用 Chrome 开发工具来查看堆分配,因为我创建了多个客户端并处理了它们上的 MassiveViews。但我什么也没看到,创建一个新的Massive 对象我看到内存分配出现峰值,但是在对象应该被释放后我没有看到任何内存使用下降的迹象,但我不知道我是否使用错误的开发工具或者我的框架只是错误。是否可以在 Chrome 开发工具中看到持续的内存分配?

【问题讨论】:

    标签: memory-management memory-leaks dart google-chrome-devtools


    【解决方案1】:

    用于 JavaScript 应用程序的普通内存视图不适用于 Dart。

    您可以使用 Dart Observatory 中的“堆配置文件”选项。它是 DartVM 的内置功能。如果您使用的是 Dartium,您可以通过 DevTools 访问它,有一个名为“Observatory”的选项卡。

    但它也适用于独立的 DartVM。你有一个命令行选项来激活它,或者如果你正在使用 Dart 编辑器,你可以在你的应用程序的启动配置中激活它。

    Dart Observatory 相当新,因为开发频道版本是 1.4,而不是 completely finished,您可能需要升级。目前还没有可用的文档。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-05-30
      • 2011-02-18
      • 1970-01-01
      • 1970-01-01
      • 2011-06-09
      • 1970-01-01
      相关资源
      最近更新 更多