Dart,如何查找内存泄漏?

3
我正在尝试使用dartium开发工具中的Observatory选项卡来查找我的框架中的内存泄漏。我已经制作了一个测试程序(链接在此),可以在js或dart中查看。我的目标是找出引用保留Massive对象的位置,这些对象只是围绕着一个包含一百万个doubleList<double>的包装器。如果我点击New Client,我会在右侧得到一个新的客户端视图;如果我生成一堆Massive对象并刷新observatory工具,我会发现double现在占用了大部分应用程序内存使用情况。然后,如果我删除Massive对象并等待5秒钟,以使框架的远程垃圾回收运行,然后刷新observatory选项卡,double仍然占用相同的内存量,即使它们应该被GC'd(我在observatory选项卡上单击GC按钮,我认为这会强制执行GC)。如果我不断创建和删除应用程序中的Massive对象,最终页面会崩溃,通常在创建约28个Massive对象后。我的问题是找出如何使用工具找出Massive对象仍然有引用保留它们的位置。是否可以在开发工具中查找对象的引用?
更新:
我已经修复了上述描述和链接的测试应用程序中的内存泄漏,因此按照上述说明不会重新创建内存泄漏。
1个回答

3

我目前在调查内存泄漏。观察器中缺少的是从根对象到泄漏对象的链路。我不确定是否已经有相关问题的反馈,如果没有,请随时提出新问题。


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