Runtime shared library, Merged into code and External

来源:互联网 发布:小马好网络 编辑:程序博客网 时间:2024/05/20 17:08

在Flex的引用Framework的方式有两种:Runtime shared library和Merged into。

 

引用swc库的方式有三种:Runtime shared library, Merged into code and External。

 

1.Runtime Shared Libray

——Flex的类和库在程序运行时动态加载而不是封装在程序里面,类似于DLL技术。

——既然要共享就必须是通用的东西,既然要共享那就是要在两个或两个以上的对象之间,既然是运行时的共享,就是在运行的过程中动态达到的

——不用Framework RSL, 你的程序就是这样的:你自己的自定义类代码 + 你必须使用的Flex自带类 (framework)。如果使用了Framework RSL,你的程序就只包含你自己写的类代码而已, 体积就很小了

——RSL分认证的RSL和非认证的RSL,听说在这里采用的认证的RSL, 经过认证的RSL可以使用Flash Player Cache机制,即在"C:/Documents and Settings/hr/Application Data/Adobe/Flash Player/AssetCache/9GXEDBT5"下缓存"3C82B2A2455B252B8595FD0113249AA19D7E8BDD.heu"和"3C82B2A2455B252B8595FD0113249AA19D7E8BDD.swz"这两个文件(文件名和9GXEDBT5都是随机生成的),而"3C82B2A2455B252B8595FD0113249AA19D7E8BDD.swz"就是经过认证的库文件,也就是Framework

——在项目的bin-release文件会生成相应的"framework_3.5.0.12683.swf"和"framework_3.5.0.12683.swz",生成这两个文件是由RSL URL来决定的,RSL URL是在Builder里面配置的,可以是本地和web(可能出现跨域,这就需要指定Policy File URL)上的swf和swz;swz是认证的RSL库,默认会被下载,如果下载失败的话,就会找备用的RSL,默认是swf文件,但是这个不会被Flash Player缓存,是被IE缓存的。

——缓存机制需要使用高于9.0.115版本的FLASH PLAYER

——其中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功能.,只保证项目可正常运行.

——Flex 4框架链接类型默认为RSL,使用框架RSL的优点是SWF文件较小下载更快,缺点是消耗的内存更多,第一个使用框架RSL的应用第一次加载很慢。这对第一个使用该技术的人是不公平的。

——从你的远程服务器上加载框架RSL。如果使用Flash Builder 4,请重复步骤1,打开目标swc,然后双击RSL链接类型,默认部署在Adobe服务器上,替换为自己的服务器。

 

2.Merged into code

将源代码编译到SWF文件中,SWF运行时不需要外部程序包,一个swf搞定一切。

原创粉丝点击