为什么MX库在我的SWF中?

时间:2011-11-24 06:38:12

标签: flash actionscript-3 mxmlc

我有一个纯粹的AS3项目。我用Ant来构建它。这是我的蚂蚁脚本的一部分:

<target name="mxmlc">
    <exec executable="${flex.home}/${mxmlc}" failonerror="true">
        <arg line="-compiler.include-libraries=${lib}"/>
        <arg line="-compiler.incremental=false"/>
        <arg line="-compiler.optimize=true"/>
        <arg line="-debug=false"/>
        <arg line="-default-background-color=0x${background.color}"/>
        <arg line="-default-frame-rate=60"/>
        <arg line="-default-size 800 600"/>
        <arg line="-static-link-runtime-shared-libraries=true"/>
        <arg line="-source-path='${src}'"/>
        <arg line="'${basedir}/${src}/${src.file}'"/>
        <arg line="-o=${bin}/${output.file}"/>
        <arg line="-use-network=true"/>
    </exec>
</target>

问题是我生成的SWF非常大。当我检查里面的东西时,我看到它有来自Flex的mx。* libs。为什么会这样?如何从我的SWF中踢mx。*?

P.S。在我的代码中,我不使用mx。* library中的任何内容。

1 个答案:

答案 0 :(得分:0)

即使你的代码没有直接导入任何mx。*类,你导入的一些类也可能有自己的导入。您是否正在使用任何内置的Flash,Flex或Spark组件?

无论如何,我不会担心mx。*导入,而是检查您正在使用的资产:

  • 组件(你可以没有一些,用你自己的,更简单的实现替换它们吗?)
  • 字体
  • 图片
  • 声音

这些通常会导致SWF膨胀,调整图像质量或减少嵌入字体中的字符数,例如,可以大大减少文件大小。