削减flex 应用程序swf文件的体积
一直对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就可以了,哪天全看懂了,就成超级牛叉的专家了.哈哈.
评论
as3的语法和java的语法及其相似,大大降低了学习成本.
有机会多交流..
标准RSL
跨域RSL
Flex框架RSL
发表评论
- 浏览: 4338 次
- 性别:

- 来自: 北京

- 详细资料
搜索本博客
最新评论
-
使用flash的Socket类连接 ...
我的邮箱是 kacakong@gmail.com 希望能向你请教一下。
-- by kacakong -
使用flash的Socket类连接 ...
你好,我现在也正在研究Mina,但是遇到一些问题。我使用的客户端是用的XmlSo ...
-- by kacakong -
使用easy eclipse,flex bu ...
朋友你好,我有几个问题想请教请教你. 我的 QQ: 2524229 MSN: ...
-- by lingzhuzi -
使用easy eclipse,flex bu ...
谢谢楼主分享~
-- by lulu0401 -
sun game server (sgs)初 ...
lesliewong2006 昨天 删除不错,很感兴趣。不过现在Java在网络游 ...
-- by duker






评论排行榜