我有一个带有 customItemRenderer 的 Spark 列表,它需要 3 秒才能初始化 50 个项目。
我使用的是 Flex 4.5,我的 ItemRenderer 已经非常优化,使用尽可能少的嵌套、fxg 等。
有没有人有类似的问题?我已经尝试了书吧中几乎所有可以回到 mx 的东西。
我有一个带有 customItemRenderer 的 Spark 列表,它需要 3 秒才能初始化 50 个项目。
我使用的是 Flex 4.5,我的 ItemRenderer 已经非常优化,使用尽可能少的嵌套、fxg 等。
有没有人有类似的问题?我已经尝试了书吧中几乎所有可以回到 mx 的东西。
所以问题是由于火花处理样式问题的方式在这里详细说明:http: //bugs.adobe.com/jira/browse/SDK-29880并且可以通过猴子修补排序:http://taytay。 com/?p=169 删除全局 CSS 选择器“*”也有帮助。
尽量避免使用 HGroup 和 VGroup,改用绝对布局。我也遇到了同样的问题,这对我来说大部分都是固定的。1 hgroup + 1vgroup 每次 3 次 = 每个项目 6 个自动布局。所以你总共有 150 个对象,太多了。
在应用Pedro 提到的猴子补丁后,性能提升不大(我想我们的样式更少,或者性能在最近的补丁中得到修复),我继续分析我们的 List 实例的初始化。
UIComponent
我发现的一件事是 Flex 在's函数上花费了相当多的时间initializeAccessibility
,即使我们的应用程序不以任何方式支持可访问性(应用程序是否应该这样做是一个完全不同的问题)。
仅仅添加-accessible=false
编译器参数就可以将初始化一个特别重的列表所花费的时间减少大约三分之一!不仅如此,当打开窗口、首次显示控件等时,整个应用程序通常会感觉更快捷。如果您不需要辅助功能支持,您可能需要检查一下 - 如果您这样做,我会确定可以做一些事情来解决糟糕的性能initializeAccessibility
- 只需通过在组件实现中覆盖它,或者通过更多的猴子补丁:-)
您的项目渲染器复选框是否有任何机会?一些人最近在使用 Spark 时遇到了一系列性能问题。
Adobe 已收到通知,显然正在努力: https ://bugs.adobe.com/jira/browse/SDK-29451