了解一些mxmlc的一些引數,對於深入理解flex有著很好的幫助.-keep-generated-actionscript尤其實用.因為可以使用他檢視mxml編譯成as的**.照樣對於了解生命週期,
事件傳遞機制...有很大的幫助.對於bindable關鍵字,在申明時,請思考是否有其他的變通解決方法,不要隨意加上這個關鍵字.bindable會為這個物件與之相關的部位生成大量的**,對於
複雜的元件來說,as檔案膨脹的比較可觀.
加入:
-locale zh_cn -link-report=c:\flexws\flex_web\flexweb_report.xml -load-externs=c:\flexws\mylib\mylib_report.xml
會使得module編譯變小很多。
【將swf檔案最優化】
如果你檢視一下主程式的swf檔案和模組(module)的swf檔案的話,你會發現它們的大小差不多。這就說明,模組的swf和主程式swf中有很多同樣的元件定義。
flash player並不會儲存元件(symbol)的副本。例如,如果主程式有乙個button元件而乙個模組(module)也有乙個button元件,flash player就不會從模組中載入button了,因為它已經在主程式中有定義了。
使用-link-report=report.xml編譯主程式,這樣會建立乙個鏈結到主程式的包含所有元件資訊的檔案。然後在編譯模組(module)的時候會使用那個report.xml檔案。
程式**mxmlc -load-externs=report.xml chartmodule.mxml
當chartmodule被編譯的時候,所有在report.xml檔案中列出的元件將會在它的swf中省略。當我不使用report.xml檔案編譯chartmodule.swf的時候,它的大小是202k。而當我使用report.xml檔案的時候,swf的大小只有68k。這大大減少了模組(module)的載入時間。
在文章的開始將到模組(module)的時候,我提過介面有另乙個作用。假設你沒有使用介面而是在主程式中引用模組的類。當你執行link-report的時候,你的模組類將會出現在report.xml中。當你使用使用link-report編譯模組(module)的時候你的模組並不會包含在它自己的swf中!起初這並不會成為乙個問題,儘管主程式由於包含了模組的定義而變得很大。然而,當你更改你的模組的時候發生了什麼才是重要的。如果你沒有重新編譯主程式,你主程式的swf檔案將會包含模組(module)舊的定義——而不是你已經更改過的。
程式**mxmlc -link-report=report.xml main.mxml
mxmlc -load-externs=report.xml chartmodule.mxml
// etc.
如果你決定使用這個技術來減小模組(module)的大小,那麼就使用介面來確保終端使用者使用的總是模組(module)的最新版本。
Flex MXMLC 編譯引數
了解一些mxmlc的一些引數,對於深入理解flex有著很好的幫助.keep generated actionscript尤其實用.因為可以使用他檢視mxml編譯成as的 照樣對於了解生命週期,事件傳遞機制.有很大的幫助.對於bindable關鍵字,在申明時,請思考是否有其他的變通解決方法,不要隨意加...
mysql 編譯引數 MYSQL 編譯引數
mysql 編譯引數 prefix opt mysql 將mysql安裝到目錄 opt mysql下 with charset utf8 指定預設字符集為utf8 with extra charsets all 將mysql所有支援的字符集編譯進來 with tcp port 3306 指定此mys...
gcc編譯引數
gcc編譯引數 linux寶庫 gcc引數詳解 介紹 gcc and g 分別是gnu的c c 編譯器 gcc g 在執行編譯工作的時候,總共需要4步 1.預處理,生成.i的檔案 預處理器cpp 2.將預處理後的檔案不轉換成組合語言,生成檔案.s 編譯器egcs 3.有彙編變為目標 機器 生成.o的...