假设我有一个这样的ViewStack:
<mx:ViewStack id="s" left="5" right="5" bottom="5" top="0" width="100%" height="100%" creationPolicy="all" minHeight="0">
<mx:Repeater id="repeater" dataProvider="{dp}" height="100%" width="100%" minHeight="0">
<mx:Box id="bx" label="{repeater.currentItem.label}" width="100%" height="100%" minHeight="0">
<mx:Label minHeight="0" width="100%" height="100%" label="bob" />
</mx:Box>
</mx:Repeater>
</mx:ViewStack>对于堆栈中的大量项(每个项都有大量的面板、数据绑定等),这会变得非常慢。无论viewStack本身的creationPolicy如何,转发器似乎都会触发所有子项的创建。
这个效率问题有现成的解决方案吗?我可以想出一些用自定义组件解决这个问题的方法,但我想知道是否有现成的解决方案来解决内部值确实需要像这样的动态(由ArrayCollection支持)的情况。
发布于 2009-12-18 06:53:23
假设除了其中显示的一些特定数据之外,所有堆叠视图都是相同的,一种可能的解决方案是丢弃视图堆栈,并将所有控件设置为绑定到数组集合,那么无论使用什么控件来更改视图堆栈,都可以更新数组集合。
发布于 2009-12-18 15:04:58
尝试将列表与itemRenderer一起使用。中继器因糟糕的性能而臭名昭著。
https://stackoverflow.com/questions/1925120
复制相似问题