`

FLEX 系统管理器 SystemManager

阅读更多

首先介绍一下SystemManager。SystemManager是Flex应用的主控者,它控制着应用窗口,Application实例,弹出窗口,cursors,并管理着ApplicationDomain中的类。SystemManager是FlashPlayer实例化的第一个类,它存储了主应用窗口的大小和位置信息,保存其子组件比如:浮动弹出窗口和模态窗口的痕迹。通过SystemManager可以获得内嵌字体,样式和document对象。自定义的可视化组件(UIComponent的子类)只有在调用过addChild()后,才会有一个SystemManager赋给他们,之前是Null。所以在自定义可视化组件的构造函数中不要使用SystemManager。

 

通常,Application对象创建时,发生如下事件:

 

1. 实例化Application对象。
2. 初始化Application.SystemManager。
3. Application在初始化过程之前,派发预初始化事件。
4. 调用createChild()。此时,所有应用组件被创建,所有组件的createChild()被调用。
5. Application派发初始化事件,表明所有的组件初始化完毕。
6. 派发creationComplete事件
7. Application对象添加到显示列表中
8. 派发applicationComplete事件

 

大多数情况下,我们使用<mx:Application>来创建application对象,但如果使用ActionScript来创建的话,那么建议不要在application的构造函数中创建组件,推荐在crateChildren函数中,主要是从性能方面考虑。

Flash包含的是一个时间线上的多个帧,而Flex的SWF只包含2个帧。SystemManager,Preloader,DownloadProgressBar和少量工具类都在第一帧,剩下的包括应用代码/内嵌资源全都在第二帧中。

当Flash Player下载下载SWF时,只要接收到第一帧内足够的数据,就会实例化SystemManager,由它来创建Preloader,然后创建DownloadProgressBar,这两个对象会察看剩余字节的传输过程。当第一帧的所有字节传输完毕后,SystemManager发送enterFrame到第二帧,然后是其他事件。最后Application对象派发applicationComplete事件。

 

分享到:
评论

相关推荐

    Flex启动与初始化

    在这个过程中,Flex 系统会创建一个 SystemManager 对象,该对象是应用程序的入口,负责控制 swf 的加载和启动,也负责划分 Flex 工程显示层级。 在 Flex 启动过程中,SystemManager 会创建一个加载器(Preloader)...

    flex事件运行流程

    首先,Flex应用程序的启动始于`preloader`阶段,系统管理器(SystemManager)随之创建。SystemManager是Flex应用的核心管理者,它负责应用程序窗口、Application实例、弹出窗口、光标管理,以及ApplicationDomain中的...

    Flex框架的基本原理.docx

    - **applicationComplete**事件:系统管理者完成上述三个阶段后广播此事件,表示程序已准备好运行。 3. **SystemManager的角色**: - 管理前端内容:如弹出窗口、鼠标指针、工具提示等。 - `...

    Flex框架的基本原理.pdf

    系统管理器(SystemManager)有两帧:预加载(preinitialize)帧和主程序(main program)帧。在预加载阶段,程序实例化但尚未创建任何内容;初始化阶段,内容被创建但布局尚未完成;而在创建完成阶段,包括布局在内...

    如何学习flex

    总之,学习Flex的过程是一条循序渐进的道路,从掌握基础的AS3语法,到熟练运用Flex框架中的组件和管理器,每一步都需要扎实的实践和理论学习。通过不断练习、阅读源代码和参与社区讨论,你将逐步成长为一名Flex开发...

    理解Flex3的组件和框架的生命周期.doc

    在 Flex3 中,系统会自动管理组件的生命周期,确保它们在正确的时间执行正确的操作。这涉及到组件的创建、初始化、布局、渲染、更新和销毁等步骤。 Flex 应用程序的生命周期: Flex 应用程序的生命周期包括构造、...

    Actionscript该学的重点

    管理者在Flex中扮演着协调和控制的角色,例如SystemManager是应用程序的起点,负责初始化流程;StyleManager管理CSS样式和皮肤应用;DragManager使拖放操作成为可能,学习其事件处理和实现细节可以提升交互体验;...

    AS3 滚动条 源码

    了解Flex布局管理器或者自定义布局策略可以帮助你实现这一点。 10. **性能优化**: 当处理大量数据或复杂内容时,滚动条的性能至关重要。优化滑动平滑性,减少不必要的计算,以及利用缓存可以提升用户体验。 通过...

Global site tag (gtag.js) - Google Analytics