sni*_*tko 5 garbage-collection memory-leaks dart
据我所知,目前 Dart 没有明确的方法从内存中删除对象,并且不再在任何地方引用的对象会自动删除。
但我一直在进行一些基准测试。这是代码:
import 'dart:html';
import 'dart:async';
var components = [];
var times_to_run = 10;
class MockComponent {
Element element = new Element.html('<table></table>');
remove() {
element.remove();
element = null;
}
}
createAndRemoveComponents(t) {
var n = 50000; // number of objects to create and delete in this run
print("***Run #${times_to_run}");
print("creating $n objects...");
for(var i=0; i < n; i++) {
components.add(new MockComponent());
}
print("...done");
print("removing $n objects...");
while(components.length > 0) {
components.removeAt(0).remove();
}
print("...done");
times_to_run -= 1;
if(times_to_run <= 0) {
components = null;
t.cancel();
}
}
void main() {
new Timer.periodic(const Duration(seconds: 10), createAndRemoveComponents);
}
Run Code Online (Sandbox Code Playgroud)
我制作了这段代码运行的视频,所以请您自己看一下内存实际上是否泄漏:http://www.youtube.com/watch ?v=uVD8Npvc9vQ
| 归档时间: |
|
| 查看次数: |
3049 次 |
| 最近记录: |