我发现使用嵌入脚本编写 MXML 类比尝试制作 ActionScript 文件要容易得多。
我想知道使用MXML文件的开销是多少——就文件大小而言。我不是特别关注性能,但如果相关的话,我会对任何发现感兴趣。
很明显我说的是拥有布局的用户界面组件。MXML 更容易可视化和修改,但我不确定它编译成了什么。我希望差别可以忽略不计。
我发现使用嵌入脚本编写 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
- Right-click a Flex Project in the Navigator Panel.
- Select Properties from the Context Menu.
- Select Flex Compiler in the Properties Window.
- Enter -keep-generated-actionscript into the ‘Additional compiler arguments’ field.
- Click ‘OK’ to apply the changes.
- Build your Flex Project by clicking the Run button.
- Right-click your Flex Project again in the Navigator Panel.
- Choose Refresh from the Context-Menu.
- 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/