我遇到了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秒以上。我之前尝试过清除这些款式,但它不起作用。 关于如何改进这个的任何提示?
答案 0 :(得分:0)
setStyleDeclaration很贵。没办法解决这个问题。您正确使用了“更新”标志。
我对增加的运行时间(从2秒到30秒)的猜测是,对于第一次调用,还没有很多组件存在。对于后续调用,可能已创建了更多组件,并且需要更长时间才能完成(即使不在显示列表中,所有组件也会更新)。如果是这种情况,那么唯一的解决方案是减少创建的组件总数,可能是通过重新使用它们。