Application的初始化顺序

 刚刚接触Felx,有点让人摸不着头脑,特别是在使用mxml文件时,尤为明显。因此,弄清楚Application的初始化非常重要,下面简单介绍一下Application的初始化顺序:

 

1. 实例化Application对象

2. 初始化Application.systemManager

3. Application在初始化过程之前, 派发预初始化事件(preinitialize).

4. 调用createChild(). 此时, 所有应用组件被创建, 所有组件的createChild()被调用.

5. Application派发初始化事件(initialize), 表明所有的组件初始化完毕.

6. 派发creationComplete事件

7. Application对象添加到显示列表中

8. 派发applicationComplete事件

注:SystemManager是应用程序中的主窗口,每个应用程序都包含一个 SystemManager。如果应用程序窗口的大小发生更改(您无法在应用程序中更改其大小,只能通过与操作系统窗口或浏览器交互来进行更改),则 SystemManager 会发送一个事件。它是应用程序中所有可显示项目(例如 mx.core.Application 主实例以及所有弹出窗口、工具提示、光标等)的父项。任何以 SystemManager 作为父项的对象都将被视为“顶级”窗口。

ps:如果Application中有别的组件,那么初始化顺序是这样的,第一,Application 预初始化(preinitialize),第二,调用createChild(),第三,是组件的初始化(initialize),第四,是Application的初始化,第五,是组件初创建完成(creationComplete),最后是Application完成。

遇到有组件嵌套,它的初始化顺序与这是类似的。

你可能感兴趣的:(flex)