查看: 1133|回复: 0

Flash Player 10新特性:Vector

[复制链接]
发表于 2009-5-15 02:05:09 | 显示全部楼层 |阅读模式
在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[0] = 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 />S.感谢Mark提供 AS3 Syntax Highlighting<br /><br /><blockquote class="blockquote">From: http://www.photoep.cn/read.php?tid=93  Powered by PHPWind.com</blockquote>
回复

使用道具 举报

本版积分规则

关注公众号

相关侵权、举报、投诉及建议等,请发 E-mail:admin@discuz.vip

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖
关注公众号
QQ客服返回顶部