Flex应用启动背后的故事
2007-09-09 14:28
190 查看
收藏来自云自无心水自闲。
首
先介绍一下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事件.
首
先介绍一下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应用启动背后的故事
- Flex应用启动背后的故事
- Flex应用启动背后的故事
- Flex应用启动背后的故事
- 加快Flex应用启动速度的5种方式
- Flex AIR应用的启动闪屏(必须)
- Flex AIR应用的启动闪屏(必须)
- 加快Flex应用启动速度的5种方式
- 在浏览器里启动本地应用
- APP安装完成打开再返回桌面打开启动两次应用的问题
- 加速Java应用开发速度1——加速spring/hibernate应用调试时启动速度
- android启动应用java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack tra
- 提高flex应用性能方法(一)
- [应用架构] 应用架构之(VC+Python+Flex)
- Flex 布局教程:语法篇 作者: 阮一峰 日期: 2015年7月10日 网页布局(layout)是 CSS 的一个重点应用。 布局的传统解决方案,基于盒状模型,依赖 display 属性 + po
- Android开发之开机启动某应用以及定时重启应用
- Linux启动WEB应用下报 java.net.SocketException:权限不够
- vbs启动应用
- android如何在url中启动应用