SWF 體積直接影響載入速度與用戶留存。長期實踐總結 7 條物理級/邏輯級優化原則,助你輕鬆為 Flash 「減肥」。
7 大瘦身鐵律
- 極簡文字敘述:能用圖示/動畫傳達資訊就不用文字;必須用文字時,嵌入字體僅包含必要字符集(基本拉丁+常用中文),勿整套嵌入。
- 繪圖物件元件化:所有可複用的矢量圖形**務必轉為「影片剪輯」或「圖形」元件**。元件實例化僅存引用,重複使用不增加體積;原始繪圖物件重複則疊加體積。
- 圖片格式精選:優先 **JPG (照片/漸變)** 或 **GIF/PNG-8 (平面色/透明)**。避免 BMP、PNG-24、TIFF 等未壓縮/過大格式。導入前用 PS/ImageOptim 壓縮至可接受畫質極限。
- 音訊壓縮策略:統一 **MP3 格式**。發布設置→聲音→取消「使用文件默認品質」→ 壓縮: MP3、位元率: **16-24 Kbps** (語音/背景音樂)、品質: **快速**。
實測:3MB WAV/MP3 → 輸出 <500KB,聽感損失極小。
- 避免「打碎」位圖:
Ctrl+B 打碎位圖會將像素轉為矢量填充,**體積暴增 10-100 倍**。除非需矢量化編輯,否則嚴禁打碎。保持位圖原狀,在元件內部縮放/遮罩處理。
- 單幀實例數控制:同一幀放置過多影片剪輯實例會導致 **SWF 體積指數級增長** (內部資源表膨脹)。拆分到多幀、多場景、或動態
addChild 創建。
- 清理無用資源:發布前執行「檔案→發布設置→SWF→產生體積報告」,刪除程式庫中未使用的位圖、聲音、字體、元件。啟用「壓縮影片」選項 (CS4+)。
進階優化清單
- **向量優於位圖**:簡單幾何圖形用繪圖 API 繪製而非載入圖片。
- **共享程式庫** : 多 SWF 專案提取公共元件/類別至共享 SWC/RSL,減少重複下載。
- **代碼優化** : 移除無用 import、死代碼、調試 trace;使用緊湊編譯模式 (
-optimize)。
- **延遲載入** : 大型資源 (視頻、高清圖、關卡資料) 採用
Loader 按需加載,首屏只載核心資源。
體積報告讀取指南
發布後查看 报告.txt:重點關注「位圖」、「聲音」、「字體」、「ActionScript」四大佔用項。單一項佔比超 50% 即為優化突破口。
記住:**優化是權衡藝術**,在視覺品質、功能完整、載入速度三角形中找到專案的最佳平衡點。