Dan*_*son 3 memory-leaks memory-management google-chrome-devtools dart
我有这个测试应用程序来查看我的 dart 应用程序的内存配置文件。当您单击左上角的“新客户端”按钮时,它将模拟新客户端浏览主机。主机生成一个新的应用程序会话,在这种情况下,它是一个可以创建或删除Massive
对象的简单应用程序。主机上存在大量对象,蓝色方块是Massive
对象的客户端表示。我希望如果我创建一堆Massive
对象然后将它们全部删除,沿途拍摄堆快照,我应该看到内存使用量随着Massive
对象数量的增加而增加,然后随着Massive
对象最终被垃圾收集而减少,这是一个远程垃圾收集每 5 秒运行一次,从而释放实际Massive
对象在主机端,因此它应该可以被实际的 VM 垃圾收集器清除。
我一直在尝试使用 Chrome 开发工具来查看堆分配,因为我创建了多个客户端并MassiveView
在它们上处理s。但我什么也没看到,创建一个新Massive
对象我看到内存分配出现峰值,但在该对象应该被释放后,我没有看到任何内存使用量下降的迹象,但我不知道我是否我使用的开发工具错误,或者我的框架有问题。是否可以在 Chrome 开发工具中看到持续的内存分配源?
用于 JavaScript 应用程序的普通内存视图不适用于 Dart。
您可以使用 Dart Observatory 中的“Heap Profile”选项。它是 DartVM 的内置功能。如果您使用的是 Dartium,则可以通过 DevTools 访问它,其中有一个名为“Observatory”的选项卡。
但它也适用于独立的 DartVM。你有一个命令行选项来激活它,或者如果你使用的是 Dart 编辑器,你可以在你的应用程序的启动配置中激活它。
Dart Observatory 是很新的,因为 1.4 的开发频道版本还没有完全完成,您可能需要升级。目前还没有可用的文档。
归档时间: |
|
查看次数: |
1010 次 |
最近记录: |