当处理多个项目时,这首先让我感到困惑。 RIAstar已经触及了这个问题:数组是一个基元,就像int是一个基元。 ArrayCollection是一个可实例化的类,作为Flex框架的一部分,具有更多功能。因为它是一个类,所以它的数据变得越来越慢,因为ArrayCollection的所有类扩展都需要开销和处理。
ArrayCollection的主要增加是你可以add events给他们,你不能在数组上。例如,当您添加,更改或删除ArrayCollection中的项目时,它将派发通过addEventListener函数添加的任何事件。
此外,ArrayCollection还有更多有用的项目管理功能,如filtering,sorting,以及在集合中的位置添加,获取和删除项目而不是其注册索引。
Array和ArrayCollection之间的选择取决于您的编码/应用程序优先级:您需要性能/您是否有很多项目? - >数组可能是你正在寻找的。你需要短/快速编码,更容易与flex对象集成吗? - > ArrayCollection可能是要走的路。
进一步阅读
Some Differences explained
ArrayCollection Reference
The filter function in action
阵列是原产于动作脚本(如原语)。 ArrayCollection仅仅是一个带有附加功能的Array的Flex包装器。 – RIAstar
如果你显示代码,它会有所帮助。你做过正式的性能测试吗? – JeffryHouser
如果有帮助,可以通过将数组传递给构造函数完全填充数组后创建一个新的ArrayCollection。 如果我不得不猜测为什么会有性能差异,假设你没有做任何其他事情导致它,我想这应该是由于事件,即使可能没有任何事情正在监听更改事件。 – Mifune