English 中文(简体)
在Flex中使用MXML文件与使用普通的ActionScript类相比有哪些开销?
原标题:
  • 时间:2008-11-05 00:53:59
  •  标签:

我发现使用嵌入脚本编写 MXML 类比尝试制作 ActionScript 文件要容易得多。

我想知道使用MXML文件的开销是多少——就文件大小而言。我不是特别关注性能,但如果相关的话,我会对任何发现感兴趣。

很明显我说的是拥有布局的用户界面组件。MXML 更容易可视化和修改,但我不确定它编译成了什么。我希望差别可以忽略不计。

最佳回答

如果您想要相同的功能,MXML 不会使您的 swf 更大。

影响大小的是使用Flex SDK及其组件。无论您是否使用MXML或AS3声明它们,您都在使用它们,它们的代码正在构建为swf。同样地,如果您引用了Flex RSL并因此避免了直接将Flex内容构建到您的swf中,无论哪种方式,它都将是相同大小。数据绑定确实会创建许多事件和监听器,因此可能会导致一些膨胀,但不会比您使用AS3实用程序函数声明数据绑定机制更多。

由于MXML会生成中间AS3代码,它可能比您自己写的更冗长,因此您可能会看到一些额外的大小。如果您想窥视它(这对于一般理解很有好处),您可以使用编译器指令来保留生成的代码。

来自:http://www.flashguru.co.uk/flex-2-compilation-hidden-goodies

  1. Right-click a Flex Project in the Navigator Panel.
  2. Select Properties from the Context Menu.
  3. Select Flex Compiler in the Properties Window.
  4. Enter -keep-generated-actionscript into the ‘Additional compiler arguments’ field.
  5. Click ‘OK’ to apply the changes.
  6. Build your Flex Project by clicking the Run button.
  7. Right-click your Flex Project again in the Navigator Panel.
  8. Choose Refresh from the Context-Menu.
  9. A new folder should appear under your Flex Project in the Navigator Panel, named ‘generated’

一旦你开始调试和优化你的项目,这是一个好的做法,因为你可以真正看到编译器在哪里做对(或错)的事情。

问题回答

包括Flex框架(无论是通过MXML还是纯Actionscript)将显着增加最终SWF文件的大小。

我刚刚写了一个仅包含单个按钮的Flash动画。MXML版本大小为175K,而无Flex Actionscript版本大小为2K。

虽然我自己没有使用它,但这个项目似乎很有前途,可以用更少的代码实现一些Flex的功能。

将此翻译为中文:http://code.google.com/p/e4xu/





相关问题
热门标签