我正在尝试使用 dartium 开发工具中的 Observatory 选项卡来查找我的框架中的内存泄漏。我在这里做了一个测试程序,应该可以在 js 或 dart 中查看。我的目标是找出对Massive
对象的引用在哪里保留,这些对象只是 a 的包装器,其中List<double>
包含一百万个double
s。如果我单击New Client
我会在右侧看到一个新的客户端视图,如果我生成一堆Massive
对象并刷新观察工具,我会看到double
现在占用了大部分应用程序内存使用。如果我然后删除Massive
对象并等待 5 秒钟让框架远程垃圾收集运行,然后刷新观察站选项卡,double
s 仍然占用相同数量的内存,即使它们应该已经被 GC(我单击 observatoy 选项卡上的 GC 按钮,我假设强制 GC 运行。)如果我Massive
最终继续在应用程序中创建和删除对象页面崩溃,通常是在Massive
创建了大约 28 个对象之后。我的问题是找出如何使用这些工具来找出Massive
对象仍然有引用的位置。是否可以在开发工具中找到对对象的引用?
更新:
我已经修复了我链接的测试应用程序中的内存泄漏并在上面进行了描述,因此按照上面的说明操作不会导致重新创建内存泄漏。