测试方法
private function Test():void
{
for(var j:int=0;j<5;j++)
{
trace("插入10000项============");
var t1:int, t2:int;
var i:int = 0;
var a:Array = new Array();
var al:ArrayCollection = new ArrayCollection();
var item:String;
var v:Vector.<String> = new Vector.<String>();
t1 = getTimer();
for(i=0;i<10000;i++)
a.push(StringUtil.NewGuid());
t2 = getTimer();
trace("Array耗时:/t/t",t2-t1);
t1 = getTimer();
for(i=0;i<10000;i++)
al.addItem(StringUtil.NewGuid());
t2 = getTimer();
trace("ArrayCollection耗时:/t",t2-t1);
t1 = getTimer();
for(i=0;i<10000;i++)
v.push(StringUtil.NewGuid());
t2 = getTimer();
trace("Vector耗时:/t/t",t2-t1);
trace("");
trace("遍历10000项==========");
t1 = getTimer();
for(i=0;i<10000;i++)
item = a[0];
t2 = getTimer();
trace("Array耗时:/t/t",t2-t1);
t1 = getTimer();
for(i=0;i<10000;i++)
item = al[0];
t2 = getTimer();
trace("ArrayCollection耗时:/t",t2-t1);
t1 = getTimer();
for(i=0;i<10000;i++)
item = v[0];
t2 = getTimer();
trace("Vector耗时:/t/t",t2-t1);
trace("");
}
}
测试输出
插入10000项============
Array耗时: 465
ArrayCollection耗时: 788
Vector耗时: 444
遍历10000项==========
Array耗时: 2
ArrayCollection耗时: 98
Vector耗时: 2
插入10000项============
Array耗时: 433
ArrayCollection耗时: 791
Vector耗时: 430
遍历10000项==========
Array耗时: 2
ArrayCollection耗时: 97
Vector耗时: 2
插入10000项============
Array耗时: 427
ArrayCollection耗时: 805
Vector耗时: 415
遍历10000项==========
Array耗时: 1
ArrayCollection耗时: 97
Vector耗时: 1
插入10000项============
Array耗时: 422
ArrayCollection耗时: 824
Vector耗时: 401
遍历10000项==========
Array耗时: 2
ArrayCollection耗时: 97
Vector耗时: 2
插入10000项============
Array耗时: 467
ArrayCollection耗时: 772
Vector耗时: 438
遍历10000项==========
Array耗时: 2
ArrayCollection耗时: 98
Vector耗时: 2
结论
Array与Vector性能接近,插入时Vector略快,遍历相近,Vector的优点是强类型,缺点是要Flash Player 10,所以作数据存储运算等建议使用Array。
ArrayCollection性能最差,插入时约比Array慢了一倍,遍历慢了几十倍,ArrayCollection的优势是界面的数据绑定以及支持数据排序等高级方法。
分享到:
相关推荐
Flex的Array和ArrayCollection
这个标题“FLEX ——完美的 TREE”提到了FLEX在实现一个特定功能——TREE组件方面的卓越表现。TREE组件是FLEX中用于展示层次结构数据的关键元素,它允许用户以树形结构查看和操作数据,这在许多场景下都非常有用,...
本篇文章将聚焦于如何将ArrayCollection转换为XML数据源,并实现Flex Tree组件的新增、删除和修改功能。以下是详细的解释和步骤。 首先,ArrayCollection是Flex中常用的数据结构,它是一个动态数组,支持数据绑定和...
ArrayCollection是基于Array的,但提供了对数据的更高级别的访问,如排序和过滤功能。在某些情况下,我们需要将ArrayCollection转换为XML格式,以便于数据交换或存储。本实例将详细介绍如何实现这一转换。 首先,...
这个主题聚焦于Flex中的一个关键组件——Datagrid,以及如何实现它的打印预览和打印功能。Datagrid是Flex中用于展示数据集的常用控件,常用于表格形式的数据展示和操作。 首先,我们要理解Flex Datagrid的基础知识...
在IT行业中,ArrayCollection是ActionScript 3.0和Flex框架中的一个重要数据结构,它扩展了Array类,提供了对数据的双向绑定和事件通知功能。ArrayCollection不仅支持数组的操作,还具备列表的数据管理特性,因此在...
本篇将详细介绍如何为Flex中的Tree组件设置不同的数据源,包括XML、Array和Object。 首先,让我们从XML数据源开始。XML因其结构化的特性,非常适合用来表示层次数据。在Flex中,我们可以使用mx.collections....
本文将详细探讨如何使用`ArrayCollection`作为Flex中的`Tree`控件的数据提供者,以替代通常使用的XML数据源。 首先,让我们理解`ArrayCollection`的概念。`ArrayCollection`是Flex中的一个类,它继承自`...
在Flex编程中,ArrayCollection是一种常用的集合类,它继承自Array类并添加了对数据绑定的支持。然而,尽管ArrayCollection通常被用作数据绑定的主要工具,但在特定情况下,可能会遇到“ArrayCollection不完全绑定”...
你可能会学习到如何使用 Cairngorm、PureMVC 或 Swiz 等设计模式来组织大型项目,以及如何优化Flex应用的性能。此外,可能还会讨论到错误处理、模块化开发和调试技巧。 每个章节的源代码提供了实际操作的机会,让你...
在Flex开发中,ArrayCollection是一种常用的集合类,它继承自Array并添加了对数据绑定和事件处理的支持。然而,当ArrayCollection应用了过滤器后,直接使用`removeItemAt()`方法尝试删除过滤后的数据可能会遇到问题...
flex自定义用ArrayCollection做数据源的带checkbox的tree(功能强大的完美版^_^) .
- **数据模型**:Flex支持多种数据模型,如ArrayCollection、Object等,方便进行数据管理和操作。 - **事件处理**:Flex提供了丰富的事件系统,支持各种用户交互行为的处理。 #### 四、Flex高级特性详解 Flex还...
1. **数据管理**:你需要有效地管理从服务器获取的大量数据,例如使用ArrayCollection或Vector存储数据,这些数据结构支持数据绑定并提供了数据操作的方法。 2. **性能优化**:由于所有数据都在客户端,需要注意内存...
- 使用Flex的` ArrayCollection`或`Object[]`等类型来封装数据,确保两端的数据格式一致。 - 调整BlazeDS中的配置,确保数据能够正确地被序列化和反序列化。 4. **问题四:性能瓶颈** - **原因**:Flex与Java...
### Flex性能、内存管理和对象缓存 #### 一、引言 在开发基于Flex的应用程序时,提升性能、有效管理内存以及合理利用对象缓存是非常重要的。这些技术可以帮助开发者构建出响应迅速、资源消耗低且具有良好用户体验的...
1. **数据绑定**:Datagrid可以直接与数据提供者进行绑定,数据提供者可以是Array、ArrayCollection或其他支持ICollectionView接口的数据源。这意味着你可以动态地更新数据源,Datagrid会自动反映这些更改。 2. **...
同时,Flex提供了ArrayCollection类,可以方便地管理和操作数据集,如排序、过滤和分页。 ```actionscript ``` 这里,`lastResult`属性包含了HTTPService的响应数据,`data`是返回数据中的具体属性,`...
var employees:ArrayCollection = event.result as ArrayCollection; // 处理查询结果 } function onQueryError(event:FaultEvent):void { trace("查询出错:" + event.fault.message); } ``` 六、优化与安全 ...