我试图通过优化嵌入的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