`
saboo
  • 浏览: 70498 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Flex RSL专题

    博客分类:
  • Flex
阅读更多

 

一、RSL简介

RSL(Runtime shared libraries)即动态链接库,在程序运行时由FlashPlayer动态加载。静态链接库是SWC文件,通过编译器的library-path和include-libraries编译进应用程序。采用静态链接的应用程序SWF会产生比较大的文件以及更长的下载时间。使用RSL的应用程序载入时间短且文件比较小,而且提高了内存使用效率,只是在开始需要花点时间下载RSL。RSL的强大体现在多个应用程序共享公共代码时,因为RSL只需要被下载一次,多个应用程序动态链接到相同的RSL,访问其中已经缓存在客户端的资源。虽然RSL的巨大优点是缓存到客户端,但是它并不考虑库中的哪些类被真正用到,就把整个RSL库都下载来。

 

RSL分为两种:未签名和签名的。未签名的RSL,比如标准的和跨域的SWF文件,存储在浏览器缓存里。签名的RSL,这是经过Adobe签名过的,扩展名为.swz,存储在Flash Player 缓存中。只有Adobe才可对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"(FLEX4默认是RSL)

3.点开下拉,选择"runtime shared library(RSL)"

4.针对自定义的SWC,修改其link type为RSL,选择None,同时勾上Automatically extract swf to deployment path(自动将SWF提取到部署路径)。如果想对不同域的RSL共享,则选择Digests(摘要),同时指定其Policy file url(策略文件)。具体可参考FLEX SDK中的SWC文件处理方式。

5.点击OK

 

三、RSL与MODULE的区别

先来看一组关于module1,module2,module3,module4,module5,module6,Application的数据

不使用RSL,不使用MODULE:843K,844K,863K,851K,851K,833K,1581K

只使用RSL:351K,353K,358K,358K,354K,348K,1022K

只使用MODULE:106K,107K,110K,113K,107K,103K,1581K

同时使用RSL和MODULE:104K,106K,109K,111K,106K,101K,1022K

注:

1.上述的RSL只包含FLEX FRAMEWORK(553K)

2.MODULE已经勾选optimize for application

 

 

四、RSL注意事项

1.RSL不是对于所有的应用都有益. 需要对应用RSL前后的下载时间和启动时间都测试过, 才能得到正确的结论.

2.RSL通常会增加应用的启动时间. 这是应用不管整个库实际如何使用, 只是简单地全部加载整个库. 就这一点来说, RSL越小越好. 这与静态链接库的使用是不同的. 当你编译一个Felx应用时, 编译器只解开需要的组件. 一般来说, 库的大小可以是任意的, 它只影响编译时间而不会影响下载的时间.如果在好几个应用中使用相同的组件库, 那么可以考虑合并这些库, 形成一个RSL. 但是如果库合并后, 每个应用只会用到其中的一小部分, 那么还不如多加载几个小RSL更高效.

3.如果一些类重复打包在多个RSL中, 那么一定要注意同步更新的问题.

4.RSL不能应用在基类是Sprite或者MovieClip的纯ActionScript项目中. 因为RSL需要基类知道如何加载RSL, 比如: Application或者SimpleApplication.

 

 

五、使用optimizer命令行工具优化自己的RSL

分享到:
评论

相关推荐

    避免Flex RSL重复load 提高module加载性能的swc

    避免Flex RSL重复load 提高module加载性能的swc

    MiniCore:这是有关flex RSL的微型核心。-开源

    Mini Core是Flex ActionScript中的RSL。 我们将其从旧的代码站点中移出:code.google.com/mini_core。 因此,自2013年9月10日起已弃用上述网站。

    Flex与ActionScript3程序开发

    目录: 第1篇 基础知识篇 第1章 走进Flex世界 第2章 Flex基础知识 ... 第18章 RSL运行时共享库 第5篇 Flex通信篇 第19章 与JavaScript/AJAX通信 第20章 Flex与PHP通信 第21章 Flex与Java EE通信

    OTIS-RSL远程串行接口协议标准大全.PDF

    OTIS-RSL远程串行接口协议标准大全.PDF

    OTIS-RSL串行协议

    Remote Serial Link (RSL) Protocol Interface Standard

    OTIS-RSL串行协议-中文版

    OTIS-RSL串行协议-中文版。 文档描述了远程串行接口协议标准在奥地斯电梯系统中的应用,该文档在使 用远程串行接口协议标准进行通讯的建模过程提供了参考。对于多个模块的标准 接口定义有参考作用,但是获取不了有些...

    RSL类库文件及说明文档

    RSL类库文件及说明文档

    OTIS-RSL串行协议-中文版.pdf

    OTIS-RSL串行协议-中文版。 文档描述了远程串行接口协议标准在奥地斯电梯系统中的应用,该文档在使 用远程串行接口协议标准进行通讯的建模过程提供了参考。对于多个模块的标准 接口定义有参考作用,但是获取不了...

    FLEX面试题

    1.我不想在容器里显示滚动条怎么办?  答:指定horizontalScrollPolicy和...Flex Project、 AS Project 和Flex Library Project。    3.你了解RSL嘛?请说明下RSL的使用方法,以及使用RSL为了解决什么问题?

    FLEX企业应用开发实战.part1

     3.5 Flex编译模式、链接模式与RSL  3.5.1 使用系统RSL—Framework  3.5.2 其他的系统RSL  3.5.3 RSL的摘要  3.5.4 使用私有RSL  3.6 小结 第4章 Flex on Java企业应用架构 第5章 BlazeDS框架详解 第6...

    FLEX企业应用开发实战.part2

     3.5 Flex编译模式、链接模式与RSL  3.5.1 使用系统RSL—Framework  3.5.2 其他的系统RSL  3.5.3 RSL的摘要  3.5.4 使用私有RSL  3.6 小结 第4章 Flex on Java企业应用架构 第5章 BlazeDS框架详解 第6...

    RSL10-SENSE-DB-GEVB_GERBER_hardware_rsl10_castcpf_

    RSL10-SENSE-DB-GEVB_GERBER

    Flex企业应用开发实战源代码

    3.5 Flex编译模式、链接模式与RSL 109 3.5.1 使用系统RSL—Framework 110 3.5.2 其他的系统RSL 111 3.5.3 RSL的摘要 112 3.5.4 使用私有RSL 113 3.6 小结 114 第4章 Flex on Java企业应用架构 115 4.1 分布式...

    RSL5K_V19.00_Core

    RSL5K_V19.00_Core 用于程序开发,编程。

    RSL FOTA 软件安装包 安卓xapk格式

    一个简单的应用程序,用于演示 onsemi RSL10/RSL15 蓝牙低功耗设备的无线固件 (FOTA)。 RSL10 和 RSL15 是来自 onsemi 的超低功耗蓝牙低功耗无线微控制器。 FOTA 应用程序充当中央设备来扫描、连接固件映像并将其...

    AB PLC RSL5KV11_V12_13-17.rar

    AB PLC RSL5KV11_V12_13-17rar,AB PLC RSL5KV11_V12_13-17

    施耐德继电器Zelio Relay RSL薄片式.pdf

    施耐德继电器Zelio Relay RSL薄片式pdf,施耐德继电器Zelio Relay RSL薄片式:RSL 薄片式继电器拥有紧凑的外观和模块化设计的优点:纤薄的宽度(6mm)在控制柜导轨上安装时节省了空间。

    rsl.rar_RSL Matlab_attribute reduction_rsl

    他是C语言写的程序集包含了属性约减、属性值约减等诸多算法

    RSL10蓝牙单芯片(SoC) 安森美半导体.pdf

    RSL10蓝牙单芯片(SoC) 安森美半导体.pdf

    RSL10 Sensor Beacon软件 安卓apk

    It supports all available On Semiconductor Beacon platforms RSL10 Coin, RSL10 SOLARsens, SECO-RSL10-TAG and more … RSL10 is the industry’s lowest power Bluetooth 5 certified, multi-protocol SoC ...

Global site tag (gtag.js) - Google Analytics