我们知道,Flex内部有多种类来提供面向服务的数据获取途径,HTTPService就是其中一种,在Flex3以前,我们几乎看到所有的HTTPService sample都是使用ArrayCollection来处理的(当然也有flashvars和Array),ArrayCollection最大的优点就是其数据结构中的元素节点在被绑定后,仍然可以进行动态监控。Flex3之后(其实应该是FlashPlayer9出来之后),Flex中有一部分的Sample在HTTPService标签中均添加了resultFormat="e4x"这个属性,E4X的优点自然也不必说了。
那么,我现在有个问题,希望感兴趣的各位进行讨论:
E4X与ArrayCollection,在Flex通过SWF解析数据(尤其是大数据量)的时候,哪个速度更快些?为什么?
我这几天在一个Demo上,反复实验使用默认ArrayCollection和E4X的两种形式,结果非常有趣,小数据量,我的Demo profile几乎全部是ArrayCollection胜出,而大数据量(比如我抓个awflasher的blog rss,或者是通过yahoo astra api获取的search数据),e4x又稍微快过ArrayCollection。有没有已经做过这方面评测的人,给出一个详细的评测,我相信很多开发者和我一样对此都非常感兴趣。