蒋金阳 发表于 2009-5-15 02:05:09

Flash Player 10新特性:Vector

在Flash Player 10之前,对于一个数组内的元素,我们是无法控制其类型的,也无法现在数组的长度,因为它可以自动增长,事实上,自动增长是会损失性能的,因为它需要动态分配内存地址。<br /><br />FP10中增加了一个新的对象:Vector,它解决了上面的两个问题:<br /><br />强类型<br />声明一个Vector对象你必须指定具体的类型:<br /><br />var v:Vector.&lt;String&gt;;<br />这里指定了一个强制的类型:String, 不能加入其他类型的元素到这个Vector中,比如:<br /><br />v = 3.14;<br />这是不被允许的。<br /><br />固定长度<br />你可以在构造函数中定于这个Vector的长度(也可以不定义)和设置是否为固定长度:<br /><br />new Vector.&lt;String&gt;(length, fixed);<br />从测试看,Vector比Array在运算上快将近一倍:<br /><br />var i : uint;   <br />var t : uint;   <br />var length : uint = 1000000;   <br /><br />//test Vector   <br />t = getTimer();   <br /><br />var v:Vector. = new Vector.(length, true);   <br />for( i = 0; i &lt; length; i ++ )   <br />{   <br />    v = &quot;1&quot;;   <br />}   <br /><br />trace(getTimer() - t);   <br /><br />//test Array   <br />t = getTimer();   <br /><br />var a:Array = new Array();   <br />for( i = 0; i &lt; length; i ++ )   <br />{   <br />    a = &quot;1&quot;;   <br />}   <br /><br />trace(getTimer() - t);<br />本文参考文档:http://help.adobe.com/en_US/AS3LCR/Flash_10.0/Vector.html<br /><br />PS.感谢Mark提供 AS3 Syntax Highlighting<br /><br /><blockquote class="blockquote">From: http://www.photoep.cn/read.php?tid=93Powered by PHPWind.com</blockquote>
页: [1]
查看完整版本: Flash Player 10新特性:Vector