as3中更快的阵列清理方法

时间:2011-06-16 16:30:24

标签: actionscript-3 actionscript

在actionscript 3中清除数组的速度有多快?

myArray = [];

myArray.length = 0;

为什么更快?存在比这些更好的方法吗? ...

1 个答案:

答案 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因多种原因获胜。