単純な ANT タスクを使用して Flex 4 ライブラリの swc をコンパイルすると、FlashBuilder によってコンパイルされる swc の約 3 倍のサイズにコンパイルされる理由を理解しようとしています。
ここに私のswcをコンパイルするための私のANTスクリプトがあります
<target name="compileSWC" description="compiles the Library">
<echo>Compiling Library SWC To Deploy SWC Folder</echo>
<compc debug="false
output="${bin.dir}/${Library.name}-${timeVersion}.swc"
incremental="true"
optimize="true"
headless-server="true"
verbose-stacktraces="true"
default-frame-rate="24">
<source-path path-element="${src.dir}" />
<include-sources dir="${src.dir}" includes="*"/>
<source-path path-element="${src.dir}" />
<compiler.library-path dir="${basedir}/" append="true">
<include name="${library.dir}" />
</compiler.library-path>
</compc>
<echo>Compiled Library SWC To Deploy SWC Folder</echo>
</target>
これにより、1,980 KB の swc が生成されます。このライブラリ ファイルにはカスタム コンポーネント、いくつかのスキン、画像が含まれているため、ファイル サイズは問題ありませんでした。しかし、FlashBuilder を使用してライブラリ プロジェクトを他の Flex プロジェクトにリンクすると、コンパイルされた swc は 532 KB しかありません。
FlashBuilder でコンパイルされた swc を任意のプロジェクトに移動でき、問題なく動作します。
では、ファイル サイズを小さくするために、FlashBuilder が私の ANT ビルド スクリプトと何が違うのか疑問に思っています。「static-link-runtime-shared-libraries="true"」を ANT スクリプトに追加しようとしましたが、結果は同じでした。
ありがとう。