收藏来自云自无心水自闲。

首 先介绍一下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事件.

转载于:https://www.cnblogs.com/jssy/archive/2007/09/09/887424.html

Flex应用启动背后的故事相关推荐

  1. 我眼中的计算机,我眼中的计算机-计算机开机背后的故事

    我眼中的计算机-计算机开机背后的故事 (20页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 14.90 积分 ? 我们每天使用计算机必 须要做的第一件事就 ...

  2. Mac OS X 背后的故事(三)Mach之父Avie Tevanian 1

    1975年,美国罗彻斯特大学纽约分校,一组研究员正在做一个名为RIG(Rochester"s Intelligent Gateway)的项目,它由Jerry Feldman主持设计.RIG的 ...

  3. 腾讯技术分享:微信小程序音视频技术背后的故事

    1.引言 微信小程序自2017年1月9日正式对外公布以来,越来越受到关注和重视,小程序上的各种技术体验也越来越丰富.而音视频作为高速移动网络时代下增长最快的应用形式之一,在微信小程序中也当然不能错过. ...

  4. 简单探寻GCC编译器背后的故事

    目录 一.用gcc生成 .a静态库和 .so动态库 1.编辑生成例子程序 2.将hello.c编译成 .o文件 3.由 .o文件创建静态库 4.在程序中使用静态库 5.由.o 文件创建动态库文件 6. ...

  5. Vue框架背后的故事

    文章目录 前言 Vue萌芽 Vue名字的由来 因着Vue免试进入Meteor Vue逐步完善 Taylor推荐Vue Vue因受质疑发布1.0 LinusBorg加入 萌生全职做Vue想法 Vue在恰 ...

  6. 听“Siri之父”讲述Siri背后的故事

    听"Siri之父"讲述Siri背后的故事 Adam Cheyer是人工智能领域里的先驱,他生命中的绝大多数时间都奉献给了他所谓的"口头陈述目标",至今他依然为此 ...

  7. Windows沙拉:默认浏览器背后的故事

    本文转自:http://www.cnblogs.com/greenerycn/archive/2010/08/13/how_to_set_default_browser.html 作者:linjiet ...

  8. 《水果忍者》背后的故事

    几年前,当 Halfbrick Studios 的 CEO Shainiel Deo 把 Friut Ninja (水果忍者)的第一版作品拿到他的妻子身边的时候,他惊讶地发现自己那平时异常" ...

  9. 《水果忍者》背后的故事 转自codeios WilsonWu

    几年前,当 Halfbrick Studios 的 CEO Shainiel Deo 把 Fruit Ninja (水果忍者)的第一版作品拿到他的妻子身边的时候,他惊讶地发现自己那平时异常" ...

最新文章

  1. php循环输出多个网络地址图片,php中curl循环往请求多个URL和多线程去请求多个URL的方法...
  2. 【运营】“顶级运营”最强速成攻略!目前国内不超过200人!
  3. Spring中的后置处理器BeanPostProcessor讲解
  4. Swagger如何访问Ocelot中带权限验证的API
  5. pythonjson数据提取_python爬虫学习笔记(十)-数据提取之JsonPath的使用
  6. 【jQuery笔记Part1】02-jQuery代码风格
  7. 2018年6月3号(线段树(3))
  8. tf.contrib.data.Dataset 读取数据的原理--buffer
  9. winform适应不同的分辨率_C# Winform的自适应分辨率的类-阿里云开发者社区
  10. 【IC】低功耗设计理论知识
  11. java将页面转为pdf和pdf上添加盖章
  12. torchvision.datasets.FashionMNIST报错[WinError 10054] 远程主机强迫关闭了一个现有的连接
  13. 《陰陽師·付喪神卷·瓜仙人》原作:梦枕貘
  14. 赛格威机器人待遇_赛格威机器人:泊车助理只是应用之一,开发者计划让机器人有无限可能...
  15. 国内手机银行安全体检:多款存在高危漏洞,可影响资金安全
  16. 【Java学习笔记】38.Java 发送邮件
  17. 表情包可视化编辑、生成配置信息数据工具
  18. mac下编译android下libaac,Mac 下编译SOX for android (.a静态库)
  19. yiii2生成验证码以及刷新验证码
  20. MIPS处理器中的偏见:R型指令与I型指令

热门文章

  1. 21点(Blackjack)与概率
  2. log4j2:占位符引起的内存泄漏bug
  3. PageHelper 插件踩过的坑
  4. 微软游戏服务器断网,惊了!Win10出现断网问题,微软居然让你自己解决?
  5. 浏览器提示ssl证书过期怎么办
  6. autojs发微信通知
  7. draco压缩引擎学习笔记(一)
  8. bitbucket配置_Bitbucket和Confluence安装配置
  9. Java高级用户指南-核心Java
  10. 物体重心的特点是什么_重心是什么的交点?