Flex Builder 3 b3编译的swf文件为什么那么大?

这是我发在ActionScript3天地会上的帖子,既然问题已经解决了,就记在这里分享一下。

用Flex Builder 3一段时间了,关于编译有一些问题要问大家:

一、如何配置Run和Debug的输出文件?

在Flex Builder 2中,Run和Debug输出的文件是不同的。前者编译后的文件名和mxml主文件相同,后者编译出来的后面带一个-debug后缀。
而Flex Builder 3则使用Run或者Debug编译的swf文件都位于bin-debug目录中,且大小都相同。这是怎么回事呢?

二、为何Flex Builder 3编译出的swf文件比较大?

在使用Flex Builder 2的时候,我一直是用Ant进行编译的,但现在我发现用Ant编译出来的文件与Flex Builder 3编译出来的文件大小有很大的差异,后者编译出来的文件大了将近一倍。我想这可能也与上一个问题有关。

使用Ant编译,如果用3.0的sdk,编译出来的文件也比使用2.0.1sdk要大,但比直接使用Flex Builder 3编译出来的文件要小。

附各种编译方法输出的swf文件大小:

  • 使用Ant+sdk 2.0.1编译,swf文件大小291KB
  • 使用Ant+sdk3.0.0编译,swf文件大小330KB
  • 使用Flex Builder 3直接编译,swf文件大小460KB(Flex Builder 3编译采用内嵌方式(no RSL))

解决方法:

http://livedocs.adobe.com/labs/flex3/html/help.html?content=build_05.html

原来,Flex Builder 3把release版本的编译独立出来做了一个功能:File-Export-Release Build...另外还有一个打包的功能。不过在使用之前,先需要指定默认的主文件(如下图)。

设置默认程序