在actionscript 3中清除数组的速度有多快?
myArray = [];
或
myArray.length = 0;
为什么更快?存在比这些更好的方法吗? ...
答案 0 :(得分:4)
我写了以下测试程序:
var array:Array = [];
var start:int = getTimer();
for (var index:int = 0; index < 10000; index++)
{
array.push(4);
array = [];
//array.length = 0;
}
var end:int = getTimer();
trace (end - start);
使用.length = 0报告10毫秒。使用array = []报告21毫秒。显然,做.length = 0要快得多。另外,执行array = []可能会导致更早/更频繁的垃圾收集,因为它可能正在执行堆分配。垃圾收集会在以后减慢应用程序的速度。
.length = 0因多种原因获胜。