用过flex的童鞋应该都用过或了解过rsl...
它可以在我们电脑硬盘里缓存经验证的swz共享库文件...
当你的项目使用到相应的库时..就不需要重新下载..
并且不怕受浏览器清除缓存影响..因为fp会将它们存在硬盘上..
现在我们在cs5中也可以应用rsl技术...
cs5中新增了
fl.rsl包..
我们可以使用它进行swf库(未经验证~)或swz库(经验证)的加载...
下面的例子中..我们尝试加载flex 3.5 sdk中的framework_3.5.0.12683.swz..
并调用mx.formatters::DateFormatter进行对日期的格式化操作..
当打开flash后你可能会看到加载进度..
或者什么都看不到就已经提示加载成功(因为你可能曾经加载过framework_3.5.0.12683.swz,而且fp已经帮你缓存于硬盘当中...)
注:正常浏览需要fp10.1~只因fl.rsl包需要fp10.1支持(在flash上点击右键可查看你的fp版本)
刚刚重装了fp9..依然可以正常访问..验证中..

这里有几点需要说明一下...
1.当你只加载swf的库时,直接使用RSLInfo即可..代码如下
3.当我们加载SWZ时...fp会优先用摘要(digest)从你的电脑硬盘里查找有没有相应的swz文件..
如果你确保swz文件存在...你甚至可以这么写..
FP将一样返回加载成功...
下面是上边的flash的完整代码...
直接往CS5里贴即可...
FLEX发布体积过大是每个使用FLEX开发的朋友都知道的
那是因为FLEX在发布的时候会带一个框架文件,框架文件包含了所有的Flex内置类...
该文件大小大概是500多K,以致一个空的FLEX项目.发布后就有500多K
所以FLEX提供了RSL(runtime shared library)(运行共享库??),
让用户只需要下载相同版本的框架文件一次,然后存在FlashPlayer指定的cache目录中..
当下次再浏览应用了RSL的FLEX项目时,就不需要重新下载..从而加快加载速度.
....理论的东东不大会表达..差不多是这样吧...下面实际操作一下..
要应用RSL.我们执行下面的步骤:
1.在项目文件夹中点右建,选择"properties"-"Flex BuildPath"-"Library Path"
2.该选项卡上我们看到"FrameWork linkage",默认是选中"Merged into cdoe"(打包在里边..大概这意思)
3.点开下拉,选择"runtime shared library(RSL)",点"OK"
这样~我们的项目就已经使用RSL~把框架文件分离出来..
我们点开项目的bin(bin-debug)文件夹.
会看到已经生成了framework_3.0.0.477.swf和framework_3.0.0.477.swz两个文件(0,0,447是版本号).
再看看项目的swf..已经变成了50k左右(只有两三个组件)
当我们发布项目时..
只需要把framework_3.0.0.477.swf和framework_3.0.0.477.swz两个文件
跟项目swf放在一目录下传到服务器上即可...
ps:在这里说说两个值得注意的问题..
第一个是发布项目后出现RSL error..主要有两个原因:
1.使用低于9.0.115版本的FLASH PLAYER,,
2.没有把framework_3.0.0.477.swf和framework_3.0.0.477.swz传到服务器上..以至类库无法下载....
说第二个问题前..先介绍一下framework_3.0.0.477.swf和framework_3.0.0.477.swz,
其中framework_3.0.0.477.swz加载时会优先加载的..当加载成功后..会放到flash player的cache目录下.(完成RSL...).
当framework_3.0.0.477.swz下载失败的话..flashplayer会自动下载framework_3.0.0.477.swf,该文件只能下载到ie缓存..并不能达到RSL功能.,只保证项目可正常运行.
很从朋友反映..在本地浏览的时候..framework_3.0.0.477.swz可以正常加载到player的cache目录..
可是当放到服务器后..即会加载不成功..只能靠加载swf来运行..
出现这个情况..是因为服务器的IIS不支持swz后缀的文件的下载..
(以前flv没盛行之前也出现过这类情况),
如果是自己的服务器.我们只需要配置一下iis.添加一MIME类型即可..
详细操作就不说了..MIME类型如下..