Module加载是Adobe解决Flex系统应用初始化时较大的下载负载而设计的一种折中方案.
Module的优点:
让swf文件初始下载尺寸更小
让加载时间更短
对应用程序更好的封装性。
让swf文件初始下载尺寸更小
让加载时间更短
对应用程序更好的封装性。
Module的加载
方法1:
<mx:ModuleLoader url="ModuleA.swf"/>
方法2:
public var info:IModuleInfo;
private function initApp():void {
info = ModuleManager.getModule("ModuleA.swf");
info.addEventListener(ModuleEvent.READY, modEventHandler);
info.load();
}
private function modEventHandler(e:ModuleEvent):void
var moduleA:ModuleA = info.factory.create() as ModuleA;
}
<mx:ModuleLoader url="ModuleA.swf"/>
方法2:
public var info:IModuleInfo;
private function initApp():void {
info = ModuleManager.getModule("ModuleA.swf");
info.addEventListener(ModuleEvent.READY, modEventHandler);
info.load();
}
private function modEventHandler(e:ModuleEvent):void
var moduleA:ModuleA = info.factory.create() as ModuleA;
}
Module的使用
创建一个as类,名字为MainModule.as.内容为
package com.greenleaf.util
{
import mx.core.LayoutContainer;
import mx.modules.ModuleLoader;
[Frame(factoryClass="mx.core.FlexModuleFactory")]
public class MainModuleextends LayoutContainer
{
public function WorkFlowModule()
{
super();
this.layout = "vertical";
}
}
}