Flex创建模块化的程序

学习动机:学习如何在程序增大时划分程序模块及维护程序
1、介绍Flex模块化程序
Flex程序默认情况下,mxml与as都会被编译进SWF文件。优点:可以立即使用而不需下载;缺点:随着程序变复杂其大小与下载时间都会持续增加。此外,即使用户从来不使用程序的某个功能,它也要下载实现这个功能的类文件。
Flex模块加载器在运行时加载和卸载预先定义的模块,这样既可以使用户在开始时下载比较小的文件,又可以划分程序中独立的逻辑部分。

2、 使用Flex模块
新建MXML Module项,在Optimize for application中选择主页面。
b)使用Module类
<mx:Module xmlns:mx="xxxx" .../>
c)使用ModuleLoader动态加载模块,如:
<s:Group>
<mx:ModuleLoader id="xxx" width="yy" .../>
</s:Group>
可以在ModuleLoader标签里添加ready事件的监听器,调用事件函数xxx并传入事件对象。只要模块被成功调用并且已准备好,那么分发ready事件,yyy模块实例可以由ModuleLoader的child属性引用。
private function handleModuleReady(event:ModuleEvent):void{
yyyModule(ModuleLoader的id.child).zzz = dddd;
}

3、 理解RSL(Runtime Shared Libraries,运行时共享库)
RSL可以将多个程序共享的资源提取出来,提出出来的部分放到单独的库中,此外RSL可以在客户端进行缓存,因此提取出来的部分只需要下载一次。默认情况下,用FlexBuilder编译的每个程序都是独立的,每个程序都包含了所需类的一个副本。
注意: RSL可以用来减少几个程序的总大小而不是单个程序的大小。

4、 理解链接器
只要Flex编译器完成了从源代码到字节码的转换之后,链接器就会接管后面的工作。链接器是负责把所有相关的字节码汇编成一个可以执行的SWF。
如果选择将代码提取到RSL,那么会因为很多原因而降低一部分效率,最主要的问题在于,为了删除程序的重复代码反而链接了大量的类。

5、 使用Flex框架RSL缓存
当用户访问网站上的Flex程序时,Flash Player首先检查它的缓存是否存在框架RSL的正确版本,如果...否则...
注意: 用户第一次访问FLex程序时会比较慢,随后访问速度就比较快了。

6、使用有签名的RSL与没有签名的RSL
没有签名的RSL保存在浏览器的缓存中,且起只能在相同的域中使用,扩展名是.swf; 而签名的RSL是在Flash Player中缓存,且可以在统统域之间使用而没有限制,扩展名是.swz。

7、 创建库项目
创建库以便在不同的Flex项目之间共享代码... ...
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值