假设我有一个这样的 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 如何,Repeater 似乎都会触发所有子项的创建。
这个效率问题有现成的解决方案吗?我可以想出一些使用自定义组件来解决它的方法,但我想知道对于内部值确实需要像这样动态(由 ArrayCollection 支持)的情况是否有现成的解决方案。