我们都知道在这两个类的构造函数中传递一个整数值,意味着指定他们的长度。
特别地,对于Vector来说,这将建议Fp采用一段连续的内存区域给其使用。因为Vector需要指定的对象类型,所以它事先知道存储一个元素所需要的内存大小。
但是Array不同,他没有要求你指定元素的类型,或者说元素的类型有可能是改变的,因此即使给数组指定了长度,也不能获得想Vector那样的优惠。
举个例子:
var a:Array = new Array(8);
trace(getSize(a[0]));//4
a[0]=1.2
trace(getSize(a[0]));//8
a[0] = 1;
trace(getSize(a[0]));//4
可见一斑。