[转]各种减小swf文件大小的方法

第一步:分离运行库,使用RSL减小FLEX生成文件的体积
要应用RSL.我们执行下面的步骤:
1.在项目文件夹中点右建,选择"properties"-"Flex BuildPath"-"Library Path"
2.该选项卡上我们看到"FrameWork linkage",默认是选中"Merged into code"(打包在里边..大概这意思)
3.点开下拉,选择"runtime shared library(RSL)",点"OK"

第二步:使用Release发布
Flex3通过Build Project编译结果都是Debug版本的,我们在发布的时候选择Export Release:
选择项目,菜单->Project->Export Release Build...

还可以使用编译器的优化选项进一步减小swf的体积。

 

在我当初开始接触flex时,注意到flex中为image或其他控件绑定图片路径时多了Embed标签。这与我们直接使用source="url"是有区别的,每个flex程序中相信都会用到很多图片,所以了解Embed与直接url的区别是很有必要的,合理使用两种方法,可以有效控制你发布swf程序的大小。

看这两个例子

1. <mx:Image source="@Embed('images/1.png')" />
2. <mx:Image source ="/common/assets/images/1.png" />

他们都是显示1.png。 区别在于#1中的1.png会被编译进入主swf从而增大发布文件的体积。 #2中的图片会在运行时被加载,图片不会被编译进入主swf。

#1的优点是图片载入没有延时。
#2的优点是节省swf体积,与普通html页面载入图片一样。


所以根据需要善用好embed与url可以有效的控制我们主swf的大小。


注意 #2中图片的路径是发布到bin目录以后与主swf的相对路径,而不是与当前mxml或as的相对路径。embed路径是与当前mxml或as文件的相对路。

你可能感兴趣的:(html,Flex)