代码之家  ›  专栏  ›  技术社区  ›  jsight TaherT

Flex中的低开销动态选项卡/视图堆栈?

  •  0
  • jsight TaherT  · 技术社区  · 16 年前

    假设我有一个这样的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支持)的情况,是否有现成的解决方案。

    2 回复  |  直到 16 年前
        1
  •  2
  •   invertedSpear    16 年前

    假设所有叠层视图都是相同的,但其中显示的某些特定数据除外。一种可能的解决方案是放弃viewstack,并将所有控件设置为绑定到阵列集合,那么,用于更改viewstack的任何控件都可以改为更新阵列集合。

        2
  •  0
  •   cliff.meyers    16 年前