削减flex 应用程序swf文件的体积

介绍Flex3通过Runtime Shared Libraries (RSL)技术显著减小SWF文件体积的方法,提升用户体验。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一直对flex 生成的swf文件大小耿耿于怀,即使是只有少数几个控件的简单程序,生成的swf文件也是将近200k,这势必会破坏用户体验.造成这种情况的原因是,flex 组件框架为了提供丰富的功能,本身结构非常复杂,包含了大量的代码,翻翻flex3sdk的源码就知道,UIComponent是一个将近300k的超级怪物,Container也有将近200k,而这两个类正是flex组件中最基础的两个类.在flex3以前,这些代码都要在编译时链接到应用程序中,所以导致最终的应用程序swf肿胀.过大的swf文件体积给用户体验造成了影响,用户可能不耐烦等待下载就离开了.

 

flex3的发布给我们带来了一个好消息,flex3中已经具有了将flex组件框架缓存在客户端播放器中的能力, 9.0.115 以后版本的flash 播放器支持加载经过签名的RSL文件,在运行时,如果一个应用程序需要flex的框架代码,而在本地找不到的话,就会去指定的位置下载,下载后缓存到播放器的目录中,以后再遇到需要框架代码的情况,就直接使用缓存中的框架代码,这使得应用程序的swf文件体积可以大副削减,经过测试,应用程序体积最小能够达到50k左右.

 在flex3sdk中,编译器提供了选项,在编译时通过指定参数,不链接框架代码,并将经过签名的RSL框架文件部署到同一目录下.

例如: mxmlc -runtime-shared-library-path=libs/framework.swc,

    framework_3.0.183453.swz,,framework_3.0.183453.swf

    SimpleApp.mxml

 

在flex builder3 中,就更简单了,只需要在项目的”build path” 选项中,将框架的链接属性从”merged into code” 设置成 “Runtime library”就可以了,如下图.

 

更详细具体的解释和操作可以adove livedoc:

http://livedocs.adobe.com/flex/3/html/help.html?content=rsl_09.html

 

个人觉得,adobe flex 的livedoc文档质量相当高,简直就是flex 大百科全书,英文好的话,直接啃livedoc就可以了,哪天全看懂了,就成超级牛叉的专家了.哈哈.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值