Memory leaks Dart内存泄漏和垃圾回收

Memory leaks Dart内存泄漏和垃圾回收,memory-leaks,garbage-collection,dart,Memory Leaks,Garbage Collection,Dart,我知道,目前Dart没有一种明确的方法从内存中删除对象,不再在任何地方引用的对象都会自动删除 但我一直在进行一些基准测试。代码如下: 导入'dart:html'; 导入“dart:async”; var分量=[]; 风险值乘以运行时间=10; 类模拟组件{ Element=new Element.html(“”); 删除(){ 元素。移除(); 元素=空; } } 创建和移动组件(t){ var n=50000;//此运行中要创建和删除的对象数 打印(“***运行#${times_to_Run}

我知道,目前Dart没有一种明确的方法从内存中删除对象,不再在任何地方引用的对象都会自动删除

但我一直在进行一些基准测试。代码如下:

导入'dart:html';
导入“dart:async”;
var分量=[];
风险值乘以运行时间=10;
类模拟组件{
Element=new Element.html(“”);
删除(){
元素。移除();
元素=空;
}
}
创建和移动组件(t){
var n=50000;//此运行中要创建和删除的对象数
打印(“***运行#${times_to_Run}”);
打印(“创建$n对象…”);
对于(变量i=0;i0){
components.removeAt(0.remove();
}
打印(“…完成”);
_到_运行的次数-=1;

如果(times_to_run)您能提供整个代码(循环)吗?您甚至没有添加元素,为什么要删除(无论如何都不应该泄漏)当您的循环运行以完成其工作时,GC有空气呼吸吗?一些计时器。运行(()=>…)或者类似的。@gunter zochbauer我更新了代码,还发布了一段在Dartium中运行该代码的视频。我尝试了您建议的工具,但现在我仍然不知道如何使用它,因为它实际上不显示Dart对象,只显示JS对象。@snitko在常规浏览器中编译为JS后运行该程序时,会发生同样的事情吗?就像旁注:根据我的经验,如果代码通过Dart2JS在Dartium或其他浏览器中运行,也会有所不同。有几次,我看到Dartium VM中的内存泄漏导致编译后的JS代码中没有出现的崩溃。@gunter zochbauer只是澄清一下,这是在不使用Dart editor的情况下运行的。