【问题标题】:Avoiding <fx:declarations> tags in mxml classes to boost performance?避免在 mxml 类中使用 <fx:declarations> 标记以提高性能?
【发布时间】:2012-07-13 15:17:58
【问题描述】:

根据“The bAS3 Class”,&lt;fx:Declarations&gt; 标记内的 mxml 类中的所有声明实际上都是可绑定的。 [source].

所以现在我想知道这对应用程序的性能有什么影响。为了提高我的代码的可维护性,我做了很多这样的声明,但是由于我正在开发一个移动应用程序,所以我追求的是我可以获得的最大性能。

是否建议完全放弃 &lt;fx:Declarations&gt; 的东西以支持性能?我知道 flex 中的绑定非常繁重,这就是为什么我尽可能避免使用它的原因。

【问题讨论】:

  • 非常相似。尝试将-keep-generated-actionscript 添加到您的编译器设置中,看看有什么不同!
  • Binding的行为一般是性能拖累;制作可绑定的东西是微不足道的。所以,这取决于你如何使用你在声明中声明的东西。

标签: actionscript-3 apache-flex air flex4.5 mxml


【解决方案1】:

我非常怀疑声明是否会严重影响性能,除非声明是用于创建数百个组件的工厂对象。但是,如果绑定属性发生很大变化,繁重的数据绑定可能会影响性能,这是正确的,因此这将是首先要改进的事情。补救措施包括使用 [Bindable("eventName")] 而不是仅使用 [Bindable],或者放弃数据绑定,并使用直接事件。

【讨论】:

  • 我将原始问题解释为他只是在 fx_Declarations 内创建元素,并没有明确地使事物可绑定;但它是由 Flex 编译器在幕后完成的。绑定的使用可能会拖累性能。不应该制作 Bindable 的东西。
  • 这就是我想听到的。我不需要绑定,我只使用声明标签,因为它是放置东西(例如带有视图的数组)的非常方便的地方,因为即使非程序员在 MXML 文件的开头也可以轻松更改它通过大量的代码。我猜想静态 AS 类也一样,但没有不必要的重绑定。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-08-21
  • 1970-01-01
  • 1970-01-01
  • 2020-06-15
  • 2020-01-05
  • 2019-04-28
相关资源
最近更新 更多