2011-11-24 78 views
1

我有一個純粹的AS3項目。我使用Ant來構建它。這裏是我的螞蟻腳本的一部分:爲什麼MX庫在我的SWF中?

<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。*庫的東西。

+0

很難說,不看源代碼。你確定Ant不會自動包含Flex SDK嗎?它如何找到圖書館的路徑?也許你需要編輯默認的Ant配置文件,並將其包含Flex的行註釋掉。 –

回答

0

即使您的代碼不直接導入任何mx。*類,您導入的某些類可能會導入自己的類。例如,您是否在使用任何內置的Flash,Flex或Spark組件?

無論如何,我不會擔心MX *進口,而是檢查正在使用的資產:

  • 組件(你可以不使用一些與你自己的,更簡單的實現替代它們? )
  • 字體
  • 圖片
  • 電影
  • 聽起來

這些通常會導致SWF文件膨脹,並且調整圖像質量或減少嵌入字體中的字符數量等可以大大減少文件大小。

+0

weltraumpirat,你是對的。我所有的媒體資源都非常優化。我使用SWF反編譯器打開SWF文件時看到的問題是,代碼佔用了我swf的90%以上...這非常不利 – Worker

相關問題