Flex mx样式管理性能

时间:2017-11-06 08:43:02

标签: actionscript-3 flex

我遇到了Flex MX StyleManager的问题性能问题。 我正在实现主题支持,我运行了大约340种不同样式的setStyleDeclaration

    for ( var i:int =1 ; i<whiteStyles.lenght; i++ )
    { 

view.styleManager.setStyleDeclaration(whiteStyles[i], view.styleManager.getStyleDeclaration(String(whiteStyles[i]).substr(String(whiteStyles[i]).lastIndexOf(".")) +"_blue"), false)

      }

    view.styleManager.setStyleDeclaration(whiteStyles[0], view.styleManager.getStyleDeclaration(whiteStyles[0]+"_blue"), true)

第一次调用函数时,UI更新大约需要2秒钟,因为我调用函数时应用的时间增长达到30秒以上。我之前尝试过清除这些款式,但它不起作用。 关于如何改进这个的任何提示?

1 个答案:

答案 0 :(得分:0)

setStyleDeclaration很贵。没办法解决这个问题。您正确使用了“更新”标志。

我对增加的运行时间(从2秒到30秒)的猜测是,对于第一次调用,还没有很多组件存在。对于后续调用,可能已创建了更多组件,并且需要更长时间才能完成(即使不在显示列表中,所有组件也会更新)。如果是这种情况,那么唯一的解决方案是减少创建的组件总数,可能是通过重新使用它们。