企业级的功能组合手段,module指可以被装载和卸载的SWF文件,它们依赖于应用不能单独运行,但是可以被多个应用所共享。
当主应用刚刚加载时,不需要加载所有模块,在需要时动态加载其他模块,当不再需要时,卸载该模块。
好处是:初始下载内容更小,增加module的复用性
参考网址:
http://help.adobe.com/zh_CN/Flex/4.0/UsingFlashBuilder/WS6f97d7caa66ef6eb1e63e3d11b6c4cffa4-7ff1.html
创建模块
选择新建 mxml模块,optimize for application(去除模块依赖但指定应用已有的代码,但这样模块只能为特定的应用加载) do not optimize(为多个应用加载) 该功能可以在后期修改properties属性。
模块的编辑和编译
类似于Application,不过其根是 module,最后为 *.swf文件
模块的加载
mx:ModuleLoader id=”first” error=”加卸载的错误” first.url指定路径 first.loadModule()加载 first.unloadModule() 完成卸载。
ModuleLoader类似于Panel,可以加载多个swf文件,但一次只能加载一个,在加载新的SWF文件前,需要先卸载旧的
主应用和模块的交互
主应用中通过ModuleLoader.child访问模块的内容,如 first.child as ModuleFirst.callMe()
子应用中通过parentApplication访问主应用
库文件SWC
Swc是Flex组件和资源文件的压缩文档,其中catalog.xml是包含内容的描述文件,相对于上边的module,进行了进一步的封装。
1. 新建Flex Library Project
2. 编辑并编译后得到*.swc
3. 引入库文件:工程属性中add Library
作用:
对资源文件和访问方式进行打包
作为公用包,类似于jar