當處理多個項目時,這首先讓我感到困惑。 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