如何在Dart应用程序中分析内存使用情况?

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

我一直在尝试使用Chrome开发工具来查看堆分配情况,因为我创建多个客户端并且处理它们上的MassiveView时。但是我根本看不到任何东西。创建一个新的Massive对象时,我看到内存分配出现了峰值,但是当对象应该被释放时,我没有看到任何内存使用量下降的迹象,但是我不知道是否我使用开发工具的方式有误或者我的框架存在缺陷。在Chrome开发工具中是否可以看到持续的内存分配信息?

1个回答

5
常规的内存视图在JavaScript应用程序中使用时无法与Dart一起使用。您可以在Dart Observatory中使用“Heap Profile”选项,这是DartVM的内置功能。如果您正在使用Dartium,则可以通过DevTools访问它,有一个名为“Observatory”的选项卡。但是它也适用于独立的DartVM。您有一个命令行选项来激活它,或者如果您使用Dart Editor,则可以在应用程序的启动配置中激活它。 Dart Observatory是相当新的,自1.4版本的dev channel以来尚未完全完成,您可能需要升级。目前还没有可用的文档。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接