Flex中的Application的启动顺序

今天写了个小的flex,结果发现在ff的flashplayer上跑得很好,而在IE的flashplayer上不行。找了一下原因。

Application的启动顺序如下:

1. 实例化Application对象

2. 初始化Application.systemManager

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

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

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

6. 派发creationComplete事件

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

8. 派发applicationComplete事件

第一次我是把引用Application.application.parameters(以下简称Aaps)的句式写在creationComplete事件中,然而IE下根本执行不了,我的默认调试浏览器又是FF,于是颇为恼火。

由于这个过程对一些组件产生了影响。

然后把这个东西改成在applicationComplete中执行,就work了。

得出结论是:

假设Aaps可以随时获取,那么IE和FF的flashplayer初始化组件的动作,发生的时段是不一样的,或者说是两者的初始化做的事情并不完全相同。IE中的5

FF中的5,IE中的7

FF中的7

我猜的

总之放在applicationComplete中做就好了,甭管那么多。