我試圖通過優化嵌入的PNG圖形來進一步減少SWF文件的文件大小(使用ImageOptim工具)。令我驚訝的是,這並沒有產生任何影響,所以我創建了兩個測試圖像:Flex:Flex編譯器是否自動優化嵌入的PNG資產?
Original(433883字節)
Optimized(273723字節)
當一個簡單的嵌入這兩種資產ActionScript項目中,編譯的SWF大小約爲274kb。這引出了一個問題:Flex在編譯期間是否優化嵌入式PNG資產?如果是,是否有一些關於優化的文檔? 這不可能是因爲單獨使用SWF壓縮,因爲壓縮圖像並不會減少文件大小。
這裏的完整性代碼:
package
{
import flash.display.Sprite;
public class SizeTest extends Sprite
{
[Embed("/assets/original.png")]
private var ImageAsset:Class;
public function SizeTest(){
}
}
}
壓縮圖像使文件大得多。所以這是一個壞主意。你在使用eclipse嗎?如果是這樣,請嘗試Project> Export Release build。它會減少SWF大小 – Treby 2010-06-30 09:53:18
這可能是一個愚蠢的問題,但是你在根應用程序中包含對SizeTest的引用嗎?如果沒有,sizeTest不會被編譯,並且圖像沒有被嵌入。 – 2010-06-30 17:59:24
@Treby是的,我知道這一點。導出的SWF是以發佈模式編譯的。 @Marty上面列出的類*是根應用程序。這是Flex中的一個簡單的僅ActionScript項目。 – bummzack 2010-07-01 19:29:42