AS3效率优化:使用Vector数据类型

Vector 比数组更严格,内部的元素数据类型都一致。
Vector内部访问会经过类型检查。
所以比Array性能更快。 

 注意:Vector.<T>的值必须是连续的,就是说Vector不可以跨越赋值,例如:
_vector[0] = xxx;
_vector[2] = xxx;
是不允许的,必须在两句之间插入_vector[1] = null;

Vector.<T>可以固定长度。

只要将fixed属性设为true即可。fixed后任何对超出length的赋值或者更改length的行为都会引发错误。

Vector是密集型的数组,每一个索引必须有值(可以为null)
 由于这些特殊性,Vector便拥有以下几点优势:

  • 性能:使用 Vector 实例时的组元素的访问和迭代速度比使用 Array 时的要快很多。
  • 类型安全性:在严格模式下,编译器可以识别数据类型错误。
                       (但当使用 push() 方法或 unshift() 方法向 Vector 添加值时,编译器不会检查参数的数据类型,而是在运行时检查)
  • 可靠性:相对于 Array,运行时范围检查(或定长检查)极大地提高了可靠性。

 

对于追求效率的RIA应用,使用Vector来提升效率是一种简单却行之有效的办法,

 

1:Vector的长度应当固定。虽然默认是不固定的,可以改变长度。

2:Vector存储基元数据类型,才能充分体现其优势

使用Vector非常的简单,和使用数组非常相似。事实上,Vector类包含了数组里所有的方法。主要的不同之处在于你怎样去实例化它。 

参数(长度,长度固定:Boolean=false ) 

谨记,一旦fixed属性被设置为true,你就不能用Vector的其他方法来改变它的长度,比如pop(), push(), shift()等等。 

  1. //var VARIABLENAME:Vector.<vectortype> = new Vector.<vectortype>(size,fixed);  
  2. var vector:Vector.<int> = new Vector.<int>(); 
 

指定长度

  1. var size:int = 7;  
  2. var vector:Vector.<int> = new Vector.<int>(size);   
原文地址:https://www.cnblogs.com/naiking/p/2332109.html