用RSL来为你的flex程序减肥

用RSL来为你的flex程序减肥
  问题:一个只有几个控件的flex project也有500多k ?
  
   那是因为FLEX在发布的时候会带一个框架文件,框架文件包含了所有的Flex内置类,该文件大小大概是500多K,以致一个空的FLEX项目.发布后就有500多K
  
  解决办法:利用RSL
  
   RSL是 Runtime Shared Library的简称,意思是运行时共享库当前RSL主要有3个级别的,一个是Standard RSL(即一个网站内共享),一个是Cross-domain RSL(跨域共享),最后一个也是最关键的是Framework RSL(Flex框架共享)。
  Framework RSL 意思是, 把Flex的类和库在程序运行时动态加载而不是封装在程序里面如果不用 Framework RSL, 你的主程序就会使用你编写的代码里必须导入的类,这样一来, 你代码写的越多, 需要导入越多的类, 你程序体积就越大,也就是说, 不用Framework RSL, 你的程序就是这样的:你自己的自定义类代码 + 你必须使用的Flex自带类 (framework)。如果使用了Framework RSL你的程序就只包含你自己写的类代码而已, 体积就很小了,framework会变成另一个文件, 动态加载到你的程序里。当一个用户加载了任何一个使用此版本RSL的应用程序后,此版本RSL会被其缓存在flash player的cache中,并且这个cache不随着浏览器缓存清空而清空,以后如果此用户再次加载使用此版本RSL的程序的时候便不再需要加载此 RSL,加载速度将大大提高。
  
  分离RSL的步骤:
  1.在项目文件夹中点右建,选择"properties"-"Flex Build Path"-"Library Path"
  2.该选项卡上我们看到"FrameWork linkage",默认是选中"Merged into cdoe"(打包在里边..大概这意思)
  3.点开下拉,选择"runtime shared library(RSL)",按"OK“即可
  这样我们的项目就已经使用RSL把框架文件分离出来了。
  结果:
   再查看bin-debug文件下项目的swf文件变成100多k左右了,还生成framework_3.2.0.3958.swf和 framework_3.2.0.3958.swz两个文件。
  
  项目发布:
   只需要把framework_3.2.0.3958.swf和framework_3.2.0.3958.swz两个文件跟项目swf放在一目录下传到服务器上即可...
  本地浏览加载 :
   只需加载项目swf文件即可。而swz文件是动态加载到cache目录下,以后直接调用即可,当flex版本一样时,一切都是共享的了

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