关于这篇文章:写这篇文章的目的是总结一下我在flex模块化开发时所遇到的问题由浅到浅地介绍,并不是什么特别的东西,只是老了,怕自己不记得就记下来,为什么要公开,是想看能不能帮助一些人,那样就心安啦,写的不好大家见谅,之所以分三篇没什么特别的意义,只是在blog放不下,再次请大家见谅 1:为什么要模块化; 模块化提供了分离应用程序代码到不同的swf文件上以便减少下载时间和文件大小。使用Modules的好处是: 1. 主应用程序开始时不需马上下载modules。应用程序会根据需求载入和卸载modules。 2. 由于每个modules独立于其他应用程序modules,当需要改变一个modules时,你只需要重编译这个modules而不是整个应用程序。 模块化可创建模块化应用程序是提高Flex框架性能的重要方面,提供更多能力控制下载时间和文件大小,使用modules,你可以根据哪些可被独立载入,哪些可被其他程序使用而分离应用程序代码, 2:如何模块化; 2.1创建模块 基于mxml的模块,在你的工程右键->new->mxml Module <?xml version="1.0" encoding="utf-8"?> <mx:Module xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" width="400" height="300"> </mx:Module> 基于as的模块 package { import mx.modules.Module; public class General extends Module { public function General() { super(); } } } 2.2加载模块 2.2.1使用ModuleLoader加载; <mx:ModuleLoader url="ContactList.swf" /> 2.2.2使用ModuleManager加载 Private function creationHandler():void { _moduleInfo = ModuleManager.getModule( 'ContactList.swf' ); _moduleInfo.addEventListener( ModuleEvent.READY, moduleLoadHandler ); _moduleInfo.load(); } Private function moduleLoadHandler(evt:ModuleEvent):void { canvas.addChild( _moduleInfo.factory.create() as DisplayObject ); } 2.2.3创建弹出模块 Var general:ModuleLoader general=ModuleLoader(mx.managers.PopUpManager.createPopUp(this,ModuleLoader)); general.url="General.swf"; 注意:在创建弹出模块时,有时会产生:无法将 mx.managers::PopUpManagerImpl@bba9941 转换为 mx.managers.IPopUpManager 这种错误,这个时候我们需要在主程序里引入 import mx.managers.IPopUpManager; private var ipopUp:IPopUpManager
Flex模块化(module)学习总结
最新推荐文章于 2019-03-05 17:29:07 发布