现有网络环境还不太适合访问大数据量的网络页面,特别是越来越注重用户体验的今天。如果一个页面加载好好几秒,势必会使用户有关掉页面的冲动,更别说会去体验你所谓的“超酷应用”。所以对于RIA开发者,如何减小最终生成的文档类swf大小就成为十分重要的优化环节了。本文在深入研究Flex开发特性的基础上,总结了有效减小swf大小的通用手法,希望对大家有借鉴作用。
1.尽量减少容器之间的深层次嵌套,嵌套太多的容器如VBox和Canvas后不仅生成很多冗余代码,也会使得你的程序运行相当缓慢;
2.尽量不要使用embed嵌入资源,特别是嵌入字体。一般字体都很大,当你嵌入某种中文字体后会发现swf轻而易举就超过了1M;
3.把一个大的Flex程序分成各个不同的功能部件, 每个Module单独编译成一个SWF ,需要的时候,再动态 的加载调用.减小主程序的体积.
4.使用RSL(Runtime Shared Library)
5.使用release版本发布
下面重点介绍RSL和Module两种方式具体使用。
RSL是运行时共享库。RSL分认证的RSL和非认证的RSL,听说在这里采用的认证的RSL, 经过认证的RSL可以使用Flash Player Cache机制,从而达到更快的启动效率。对于Flex开发来说,Flex组件框架就是属于认证的RSL.不用Framework RSL, 你的程序就是这样的:你自己的自定义类代码 + 你必须使用的Flex自带类 (framework)。如果使用了Framework RSL你的程序就只包含你自己写的类代码而已, 体积就很小了,framework会变成另一个文件, 动态加载到你的程序里。当一个用户加载了任何一个使用此版本RSL的应用程序后,此版本RSL会被其缓存在flash player的cache中,并且这个cache不随着浏览器缓存清空而清空,以后如果此用户再次加载使用此版本RSL的程序的时
候便不再需要加载此RSL,加载速度将大大提高。RSL不光能针对Framework来做。你自己写的lib库都可以。此外有些组件比如Chart不在Framework.swc里,而是在datavisualization.swc内,图表用得多的话记得把这个也做到RSL里去。
分离RSL的步骤:
1.在项目文件夹中点右建,选择"properties"-"Flex Build Path"-"Library Path"
2.该选项卡上我们看到"FrameWork linkage",默认是选中"Merged into cdoe"
3.点开下拉,选择"runtime shared library(RSL)",按"OK“即可
这样我们的项目就已经使用RSL把框架文件分离出来了。
注意:需要把framework_3.4.0.9271.swf和framework_3.4.0.9271.swz两个文件跟项目swf放在一目录下传到服务器上
使用Module的方式也比较简单,可以从文档类application里面提取出功能模块,对这些模块分别建立一个Module文件,然后编译后每个模块都会生成单独的一个swf,有些和jsp的include类似。Module最好和RSL配套使用。这并不能减少体积,但能减少用户等待载入的时间。
分享到:
相关推荐
flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图...
完美的Flex多语言支持解决方案
FLEX特效FLEX特效FLEX特效FLEX特效 FLEX特效FLEX特效FLEX特效FLEX特效 FLEX特效FLEX特效FLEX特效FLEX特效 FLEX特效FLEX特效FLEX特效FLEX特效
Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex ...
flex 精通 flexflex 精通 flexflex 精通 flexflex 精通 flexflex 精通 flexflex 精通 flexflex 精通 flexflex 精通 flexflex 精通 flexflex 精通 flexflex 精通 flexflex 精通 flexflex学习的好资源啊
Flex简介Flex简介Flex简介Flex简介Flex简介
flex事件flex事件flex事件flex事件flex事件
Flex 组件Flex 组件Flex 组件Flex 组件Flex 组件
java flexjava flexjava flex
Flex万年历记事本_flex源码
利用google-iframe在flex中嵌入网页是在swf上覆盖一个div,flex与网页无法融合,这样会出现各种显示,控制问题,如页面自适应,页面显示控制,内容遮盖,网页内容不随flex滚动条滚动等,现在这些问题都解决了
Flex相册 Flex图片
flex皮肤flex皮肤flex皮肤flex皮肤flex皮flex皮肤肤
flex设计模式flex设计模式flex设计模式flex设计模式flex设计模式flex设计模式flex设计模式flex设计模式flex设计模式flex设计模式flex设计模式flex设计模式flex设计模式flex设计模式flex设计模式flex设计模式
flex 面试题flex 面试题flex面试题flex
flex画线flex画线flex画线flex画线
常用Flex网站常用Flex网站常用Flex网站常用Flex网站常用Flex网站常用Flex网站
FLEX网站源码FLEX网站源码FLEX网站源码FLEX网站源码FLEX网站源码FLEX网站源码FLEX网站源码FLEX网站源码
flex3注册码flex3注册码flex3注册码flex3注册码flex3注册码flex3注册码flex3注册码flex3注册码flex3注册码flex3注册码flex3注册码flex3注册码flex3注册码
FLEX播放器 flex 开发AIR及Flex之mp3播放器教程 FLEX播放器 flex 开发AIR及Flex之mp3播放器教程