【问题标题】:Flex : addChild and removeChild Vs setting visible and includeInLayout properties to true and falseFlex : addChild 和 removeChild Vs 将 visible 和 includeInLayout 属性设置为 true 和 false
【发布时间】:2013-05-24 06:58:16
【问题描述】:

这是一个非常笼统的问题。 在 flex 中的重型 mxml 中,我需要添加一些 ui,这些 ui 将根据用户的操作显示为隐藏。

我想纯粹从性能角度知道哪个更好

使用 addChild 和 removeChild

将 visible 和 includeInLayout 属性设置为 true 和 false?

【问题讨论】:

    标签: apache-flex


    【解决方案1】:

    从性能角度来看,添加/删除更好,因为 LayoutManager 不需要占用对象。即使您使用includeInLayout,仍然会保存对该对象的引用。

    【讨论】:

    • 嘿,那为什么 includeInLayout 还在那里。我们还能从中获得什么其他优势吗?
    • 值得注意的是,addChildremoveChild 实际上是非常繁重的进程,在大多数情况下不应用作visible 的替代品。如果您需要以某种频率打开和关闭某些东西,您应该使用visible,它不会渲染该对象(节省运行时间),而不是添加/删除会增加时间。唯一应该使用 removeChild 的情况是,如果您不希望它在不久的将来任何时候返回屏幕。
    【解决方案2】:

    确实会有一些函数仍在处理您的 DisplayObject,所以您必须问自己的问题是:

    重新创建 DisplayObject 所花费的时间是否大于如果它被隐藏时会发生的少量处理?这个问题非常主观。还要考虑您必须多久添加一次。

    尝试这两种方法并使用分析器将帮助您确定这一点。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-06
      • 2010-12-26
      • 2021-09-28
      • 1970-01-01
      • 2013-09-09
      相关资源
      最近更新 更多