`
iMzw
  • 浏览: 191021 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Flex之模块化

    博客分类:
  • Flex
阅读更多
如果做一个很大的Flex程序,比如程序文件有2,3M,一次性下载的话,就算是我的10M宽带也是需要一段时间。更别提普通的ADSL了。另外如果同时实例化太多的Flex控件,要占用很大的内存,浏览器(Flash Plugin)处理的时候会很慢,同时也会占很多的CPU资源。


难道Flex就不能开发大型应用了?还好Flex提供了Module的支持(我做OpenLaszlo的时候可没有这么幸运,只能自己开发Module支持,不过现在已经彻底放弃OpenLaszlo)。还是很简单的,困难的是如何分割模块。

创建Module。就像创建其他组件一样,只不过标记换成了 mx:Module。Module本身和Application基本一样。如果使用Flexbuilder的话,你的Bin-Debug(通常)里会多一个和Module的文件名的swf。
<?xml version="1.0" encoding="utf-8"?>
<mx:Module xmlns:mx="http://www.adobe.com/2006/mxml"
	 layout="vertical" creationComplete="onCreationComplete()">
	<mx:Script>
		<![CDATA[
	          //ActionScript Code Here...
		]]>
	</mx:Script>
        ...
	<mx:Button id="btn" click="{Alert.show('' + event)}" label="Button"/>
</mx:Module>



重点是如何调用Module。有两种方式可以调用Module,一种是使用mx:ModuleLoader,另一种是使用ModuleManager。第一种其实仅仅是封装了第二种方式而已。mx:ModuleLoader 相对比较简单,只需要把它实例化到你需要的地方,指定Module的URL就可以了。ModuleManager相对复杂一些,但是更灵活。关键(Key point)代码如下。完整代码见附件。
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" applicationComplete="init()">
	<mx:Script>
		<![CDATA[
			...
			private function useModuleLoader(event:Event):void{
				trace(event.type);
				if(ml.url == null){
                                        //Key point
					ml.url="UserList.swf" 
					ml.loadModule();
				}
			}
		        ...		
			private var module:IModuleInfo;
			private function useModuleManager(event:Event):void{
				trace(event.type);
                                //Key point
				module = ModuleManager.getModule("UserList.swf");
				
				module.addEventListener(ModuleEvent.READY, onModuleReadyUseModuleManager);
				
				module.load();
			}
			...				
		]]>
	</mx:Script>
	<mx:VBox id="container" width="100%" height="100%">
		<mx:Button id="loadUseModuleLoaderButton" label="Load Use ModuleLoader" />
		<mx:Button id="loadUseModuleManagerButton" label="Load Use ModuleManager" />
                ...
		<mx:ModuleLoader id="ml"  width="300" />
	</mx:VBox>
</mx:Application>

分享到:
评论
2 楼 iMzw 2008-10-08  
steven186 写道

收藏了很多你的文章,十分感谢!

1 楼 steven186 2008-10-05  
收藏了很多你的文章,十分感谢!

相关推荐

    flex 模块化 modules文档

    flex 模块化 modules文档,详细介绍如何建立模块化

    flex 模块化modules源码例子

    flex 模块化 modules 源码

    Flex模块化开发实例

    Flex模块化开发实例adsfasdfasdfasdfasdfasdfasdfjasdjfasdjf按时大法师的发生地方

    Flex 模块化应用程序开发

    Flex 模块化应用程序开发,本人博客中还有更多详细信息 http://gaobo403163953.blog.163.com

    Flex 基于Module模块的开发资料完整版

    1、模块化的定义与原理; 2、模块化的作用; 3、模块化的优点; 4、flex与模块通信,直接调用模块(module)方法及示例代码; 5、flex基本控件用法及示例代码; 6、委托、上传文件、操作Word和Excel等等

    FLEX4025十六通道热电阻温度采集模块用户手册-V1.0.pdf

    FLEX-4015热电阻采集模块是FLEX-4000系列智能测控模块之一,广泛应用于温度/电阻测量的工业场合,提供了热电阻/电阻信号的采集以及转换,线性处理并转换成线性化的数据值,经RS-485 总线传送到控制器。FLEX-4015具有...

    Flex4基于FluorineFx模块化系统框架

    使用最新vs2010、FlashBuilder4.5、FluorineFx搭建的web管理系统框架,实现了动态模块加载,FluorineFx数据交互。

    Flex电源模块推出面向工业应用的微型DC-DC转换器

    Flex电源模块(Flex Power Modules)推出了面向工业应用的微型DC-DC转换器系列:PUA-A、PUC-B和PUB-M。这些新器件均为隔离式转换器,可提供高达1W的输出功率,而无需负载。 在满载情况下,它们的典型效率为84%(PUA...

    FLEX3015热敏电阻NTC采集模块用户手册-V1.2.pdf

    FLEX-3015模拟量采集模块是FLEX-3000系列智能测控模块之一,广泛应用于各种工业现场,提供了模拟量信号的采集以及转换,线性处理并转换成线性化的数据值,经RS-485 总线传送到控制器。FLEX-3015具有八个测量通道,可...

    模块化后台模板

    当前页面左侧导航根据根据...内容包含:页面基础排版(flex/column-count)布局、按钮系列组、表格系列、进度条、分页、表单、 文本编辑器、统计图表、TAB选项卡、CSS3基础动画及第三方弹层插件等常见页面使用元素。

    flex 最佳实践教程

    它与其它框架最主要的不同是框架的作用域: 它像其它小型的 IOC 框架一样为简单程序提供了易用性,而且也为大型、复杂和模块化的程序提供了许多特性,如:支持 Flex 模块、对象清理和大量的扩展点.

    FLEX4015热电阻模块用户手册-V2.1.pdf

    FLEX-4015热电阻采集模块是FLEX-4000系列智能测控模块之一,广泛应用于温度/电阻测量的工业场合,提供了热电阻/电阻信号的采集以及转换,线性处理并转换成线性化的数据值,经RS-485 总线传送到控制器。FLEX-4015具有...

    flex3 + java + spring + jasperreports 开发框架

    通过flex的模块化功能,实现页面的控制,利用spring jdbc 包实现在数据操作 用户管理模块

    罗克韦尔FLEX I/O 和FLEX EX选型指南.zip

    该 I/O 灵活性高、价格低且采用模块化设计,非常适合分布式应用。FLEX I/O 具有大型机架式 I/O 的全部功能,并且没有空间要求。您可根据具体的应用需求单独选择 I/O、端子类型和网络。两个单独的现场电源连接端子让...

    Flex之PurMVC

    PureMVC是在基于模型,视图和控制器MVC模式建立的一个轻量级的应用框架,而且是免费的,它最初是执行的ActionScript 3语言使用的Adobe Flex、Flash和...而多版本允许多个PureMVC应用运行在同一个虚拟机进行模块化编程。

    Power Flex 70 AC Drive应用介绍_罗克韦尔Power Flex 700变频器教程(4).flv

    Power Flex 70 AC Drive应用介绍_罗克韦尔Power Flex 700变频器教程(4)flv,罗克韦尔自动化推出的A-B PowerFlex交流变频器系列产品功能强大,控制灵活,可以满足全球任何行业的需要。PowerFlex交流变频器在多个平台...

    ActionScript 3.0 API文档及Flex开发详解电子书

    第4章 Flex模块化编程 第5章 ActionScript 3精要 第6章 Flex图表 PART 3 Flex 3 Web项目全案开发 第7章 Flex企业级开发实践—— Flex + Struts 第8章 Flex企业级开发实践—— Flex + Web Services PART 4 ...

Global site tag (gtag.js) - Google Analytics