我发现使用嵌入式脚本编写MXML类要比编写动作脚本文件容易得多.
我想知道使用MXML文件有什么样的开销 - 在文件大小方面.我并不特别关注表现,但如果相关则会对任何发现感兴趣.
显然我在谈论具有布局的UI组件.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
在导航器面板中右键单击Flex项目.
从上下文菜单中选择属性.
在"属性"窗口中选择"Flex编译器".
在"附加编译器参数"字段中输入-keep-generated-actionscript.
单击"确定"以应用更改.
单击"运行"按钮构建Flex项目.
在导航器面板中再次右键单击Flex项目.
从上下文菜单中选择"刷新".
新的文件夹应出现在导航器面板中的Flex项目下,名为"generated"
一旦进入调试和分析项目,这是一件好事,因为你可以真正看到编译器在哪里做正确(或错误)的事情.