22.4.优化RSL

22.4.1.问题
我想减小RSL文件的大小。
22.4.2.解决办法
使用optimizer命令行工具删除SWC文件中的调试代码和不必要的元数据。
22.4.3.讨论
默认情况下,生成的SWC文件中包含的library.swf文件包含调试代码和元数据代码。这对于在远程服务器作为RSL是没有什么用处了。要想创建一个优化过的RSL,首先通过compc工具创建SWC压缩文件,然后解压出library文件。library.swf 文件将作为RSL。这时你就可以使用optimizer命令行工具重新编译这个RSL。

SWC文件中的library的大小依赖于编译时引入的类库。为了演示optimizer工具的强大效果,我们创建一个MXML组件,保存为MyCustomComponent.mxml :
+展开
-XML
<mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml">
<mx:TextArea text="Lorem ipsum dolor sit amet" />
</mx:Canvas>

这个简单组件将显示一个<mx:TextArea>。
使用下面的命令生成SWC文件并命名为library.swc:
> compc –source-path . –include-classes MyCustomComponent -output library.swc
解压出SWC中的library.swf 文件,这时的大小接近320KB。

使用optimizer工具通过删除没用的调试和元数据代码减小RSL的大小:
> optimizer –keep-as3-metadata=
"Bindable,Managed,ChangeEvent,NonCommittingChangeEvent,Transient"
–input library.swf –output optimized.swf

优化后的RSL只有原来一半还少,接近135KB.
强烈建议你保留Bindable, Managed, ChangeEvent, NonCommittingChangeEvent, 和Transient元数据名称标签,其他元数据如RemoteClass, 可以添加到RSL库的类依赖项所基于的逗号分隔参数列表。

加支付宝好友偷能量挖...


评论(0)网络
阅读(109)喜欢(0)flash/flex/fcs/AIR