From www.weni.cn
介绍Flex3的这个新功能前先和大家温习一下以前的东西:RSL。
RSL (Runtime Share Library
运行时共享库)这个概念相信大家不会陌生了,因为Flash很久就有这个功能了。它的作用就是发布swf的时候将一些共用的部分分离出来。例如a.swf
有60KB,b.swf有55KB,其中a.swf和b.swf有50KB的内容都是相同的,如果将这共用的部分分离出来,a.swf剩下
10KB,b.swf剩下5KB,共用部分50KB,当用户从网上浏览这两个swf的时候共加载了10+50+5=65KB;如果没有分离共同的部分,用
户需要加载50+55=105KB的内容。显然通过这个比较你知道共享库的作用是什么了。
然而,这种做法也有限制的,就是共享库是和其它swf文件一样放在IE缓存里的,用户清空缓存的时候共享库就会被清除掉。还有你的共享库只有你自己才能用,就等于别人的共享库你也用不了。
Flex3推出新的RSL——Persistent Framework Caching (持久化框架文件缓存)翻译得不怎么对!
它
的作用就是将Flex庞大的系统框架类永久地缓存到客户端,而且只要缓存一次,下次谁需要都能用。例如用户访问www.a.com的时候将共享库缓存到本
地,下次www.b.com的swf文件需要用到这个共享库,也可以共用。而且这个共享库不会随便被用户清除掉。这就是新的RSL相对以前的优点了。
Flex开发出来的swf文件都有相当庞大的体积,即使只有一个按钮也一样,因此这个功能是非常迫切需要的。
下面通过一个例子来介绍这个令人振奋的功能:
使用Flex3创建一个简单的Demo项目,在项目标题点击右键选择属性,选择Flex Build Path,选择Library Path.双击framework.swc的Link Type
如下图所示:
选择Runtime Shared Library,然后点击“Add”增加一个sgn文件。
此时,项目下编译出来了一个新的文件:framework_3.0.172357.sgn 这就是共享库了,而Demo.swf的体积由原来的120KB减少到43KB。
这看起来得不偿失,共享库有487KB 而Demo.swf也就减了几十KB而已。体积反而大了。但是如果做复杂的应用的话体积会小很多的。
用户第一次访问,需要加载 487+43=500多了,然后以后再访问,只需要43KB。
然而这个共享库不是放在IE缓存里面,那放在哪里呢?后来在下面的目录下找到它了:C:\Documents and Settings\用户名\Application Data\Adobe\Flash Player\AssetCacheR65FDRC
如下图所示:
这个新功能并不是所有子版本的Flashplayer9都支持,它需要最新版的FlashPlayer9.0.60.120 低版本的FlashPlayer9播放器访问的话将会出现下面所示的提示: