2009-02-20 126 views
7

我有一個只有幾個圖形和很多ActionScript 3的項目。 任何人都有關於減少SWF文件大小的提示嗎?減少SWF文件大小

回答

3

在文件膨脹的情況下,圖形應始終是第一個可疑人員。如果您有圖像,請降低質量或尺寸,或查看不同的格式是否產生較小的文件大小。請勿複製粘貼矢量圖形,將它們放入影片剪輯或圖形中,並放入其他位置。另外,如果你有任何複雜的矢量藝術,平滑可以幫助減少複雜性。

可以減少動作腳本,就像減少任何其他代碼一樣。尋找重複和其他可以剪掉的地方。但老實說,文件大小不受代碼的影響。

有點相關的問題:Why does my SWF file size not decrease when reducing content?

0

增加圖形壓縮(如降低jpg質量)並查找未使用的代碼部分,看看是否可以修剪或重構。

1

你可以做幾件事情..

  • 圖像另存爲外部鏈接和動態加載那些(有一個權衡)

  • 檢查大小的報告,跟蹤和修剪下來大型嵌入式文件

4

第一件事要做的就是打開大小的報告(沒有安裝Flash得心應手,而應在發佈設置),並看看什麼是真正佔用這個空間。從你的描述來看,它應該主要在動作中。

如果您有任何帶有嵌入字體的動態或文本字段,請注意您只嵌入需要的字符子集,如果您使用位圖,請確保使用適當的壓縮(無損實際上更適合'computery '圖像,大量的純色或簡單的漸變)。

至於減少動作字節大小......首先嚐試一些顯而易見的事情:使用發佈或測試代替調試(Shift-F12或Ctrl-Enter,而不是Ctrl-Shift-Enter)來編譯發佈代碼,仔細檢查您可以使用Flash內置函數而不是ActionScript,使用函數共享代碼,添加局部變量以減少常見的子表達式。

你可以嘗試避免使用動態對象或更多地使用它們......每個類都有它的描述開銷,但我認爲它們可能會減少成員訪問的開銷。不過,我還沒有測試過這種方式。

修剪或複製從其他庫中使用的任何方法。如果你正在使用Flex ...對不起,你很漂亮:(注意參考類引入一大堆未使用的類:製作修剪後的私有庫副本在這裏也很有用

如果你願意犧牲代碼質量:你可以嘗試使用類成員而不是參數來調用深層調用heirachies,注意內部函數 - 有一些情況會導致膨脹,因爲名字被包含(一次),即使使用較短的包,類和成員名稱(不是參數或本地),和文字而不是常量,所以只有值必須被髮射,而不是成員名稱(我不確定私人成員或密封類)。

2

運行共享庫