`

Flex启动过程分析

阅读更多

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

大多数情况下, 我们使用来 创建application对象, 但如果使用ActionScript来创建的话, 那么建议不要在application的构造函数中创建组件, 推荐在crateChildren函数中, 主要是从性能方面考虑. Flash包含的是一个时间线上的多个帧, 而Flex的SWF只包含2个帧. SystemManager, Preloader, DownloadProgressBar和少量工具类都在第一帧, 剩下的包括应用代码/ 内嵌资源全都在第二帧中. 当Flash Player下载下载SWF时, 只要接收到第一帧内足够的数据, 就会实例化SystemManager, 由它来创建Preloader, 然后创建DownloadProgressBar, 这两个对象会察看剩余字节的传输过程. 当第一帧的所有字节传输完毕后, SystemManager发送enterFrame到第二帧, 然后是其他事件. 最后Application对象派发applicationComplete事件.
文章来自: 闪客居(www.flashas.net) 详文参考:http://www.flashas.net/html/Flex/20080621/3330.html

分享到:
评论

相关推荐

    flex 使用profile性能分析

    【启动性能分析工具】Flex Profile可以通过Flex Builder的工具栏按钮启动,也可以在浏览器或Flash Player中进行。然而,由于Flash Player的某些限制,如不支持ExternalInterface接口,推荐在浏览器环境中进行性能...

    JFlex指南(java flex词法分析器指南)

    - **易用性**:JFlex 努力简化词法分析器的创建过程,使得开发者可以更轻松地集成到自己的项目中。 - **兼容性**:该工具在设计时考虑到了与其他工具的兼容性,例如与 CUP 和 BYacc/J 的集成。 - **性能**:通过优化...

    flex安装程序 windows

    Flex,全称“Fast Lexical Analyzer Constructor”,是一种广泛使用的开源工具,主要用于生成词法分析器,也就是我们常说的扫描器或词法分析器。在软件开发中,词法分析是编译器或解释器的第一步,它将源代码分解成...

    flex和java整合常见问题分析

    ### Flex与Java整合常见问题分析 #### 一、前言 在进行Flex与Java整合的过程中,往往会遇到一些常见的技术难题。本文将针对搭建Flex+Java+Oracle项目的实践过程中所遇到的问题进行深入剖析,并提供相应的解决方案...

    cifafenxiqi(LEX).rar_ cifafenxiqi_Flex 虚拟仿真实_LEX_flex_词法分析器

    在主函数中调用`yylex()`启动词法分析过程。 在虚拟仿真实环境中,这样的词法分析器可以帮助学生更好地理解编译器的工作原理,通过实际操作学习如何识别和处理不同的语言元素。通过调试和修改Flex规则,可以深入...

    loadrunner for flex引用包

    在LoadRunner安装过程中,应选择包含Flex支持的选项,或者在安装后通过控制台添加。 2. 录制Flex脚本:在VUGen中启动录制,选择Flex协议。打开需要测试的Flex应用,执行一系列操作,VUGen会捕获这些动作并生成对应...

    flex相关jar包

    2. **录制脚本**:使用LoadRunner的Web(HTTP/HTML)协议开始录制,启动Flex应用并执行测试场景,LoadRunner会捕获到与Flex相关的网络通信。 3. **分析和增强脚本**:在脚本中引用Flex相关的JAR包,使脚本能识别和...

    如何在Flex中使用profile的教程

    Adobe Flex Profiler是一种专门针对Flex应用的性能分析工具,它能够帮助开发者监控和诊断应用运行时的性能问题。使用Adobe Flex Profiler可以有效识别出那些导致应用运行缓慢或者占用过多资源的代码段,从而有针对性...

    IE debug Flex debug

    4. **开启浏览器调试**:启动IE,打开包含Flex应用的网页。此时,你的IDE应该能够连接到Flash Player Debugger,并在遇到断点时暂停执行。 5. **查看和分析错误**:在IDE的调试视图中,你可以查看变量的值,步进...

    AQT90FLEX快速免疫分析仪资料:023-AQT90软件升级.pdf

    至此,AQT90FLEX免疫分析仪的软件升级过程就完成了。 在整个升级过程中,一定要遵循操作步骤,避免误操作导致的数据丢失或设备损坏。此外,定期检查并更新软件是保证设备性能和诊断准确性的重要环节,因此,用户...

    Flex ™ Builder 2

    4. **性能优化**:Flex™ Builder 2 内置了性能分析工具,可以帮助开发者优化应用程序的性能。 5. **版本控制集成**:支持常见的版本控制系统,如Subversion等,便于团队协作开发。 6. **模板与库**:提供了丰富的UI...

    flex flex是什么

    3. **创建新Flex项目**:安装完成后,启动Flex Builder。在“文件”菜单中选择“新建”>“项目”,然后在弹出的对话框中选择“Flex项目”。为你的项目命名,并设置其他相关选项,如选择Flex SDK版本和应用类型。 4....

    Flex AIR物业管理系统

    5. **报表分析**:生成各类财务报告和运营分析,帮助管理层决策。 Flex AIR的另一大亮点是其跨平台特性,这意味着物业管理系统不仅可以在Windows上运行,还可以在Mac OS X甚至Linux上无缝部署,极大地拓宽了应用...

    【转】Eclipse 3.5 与 Flex Builder 3 集成问题

    6. **调试和运行Flex应用**: 通过右键点击项目选择"Debug As" -> "Flex Application"或"Run As" -> "Flex Application"来启动Flex应用。Eclipse会使用Flex Builder的调试器来追踪代码。 然而,集成过程中可能会遇到...

    Flex流程设计器

    通过学习和分析这些源码,开发者可以了解到Flex如何实现图形用户界面、事件驱动编程、数据绑定等核心概念。此外,还可以学习到如何利用Flex框架的组件系统来构建可复用的UI部件,以及如何与后台服务(如SOAP或...

    ESRI Flex GIS开发连载(1) ---环境搭建

    这是一个专门用于Flex应用的API,提供了与ArcGIS Server交互的能力,包括地图显示、图层管理、地理编码和空间分析等功能。在ESRI官网上,你可以找到API文档和下载链接。下载后,将API库添加到你的Flex项目中,以便在...

    flex在线拍照软件

    Camera类提供了一系列方法和属性,如getCamera()用于获取默认的摄像头,start()启动摄像头预览,stop()关闭摄像头。此外,还可以调整摄像头的参数,如亮度、对比度等,以适应不同的环境。 2. **在线拍照**:在用户...

    Flex拖拽控件效果

    通过阅读和分析此文件,我们可以更深入地理解Flex中拖放机制的工作原理,并学习如何在自己的项目中实现类似的功能。 总之,了解和掌握Flex的拖放功能对于开发交互性强的Flex应用至关重要。它涉及到对`DragManager`...

    flex进度条

    对于基于Flex框架的应用而言,进度条同样扮演着重要的角色,尤其是在应用初始化或数据加载过程中提供用户反馈,提升用户体验方面。本文将详细探讨Flex进度条的实现方式,并通过一个具体示例来阐述其工作原理。 ####...

    flex debug调试变量输出工具

    在安装并启动Flex Debug工具后,你可以按照以下步骤进行变量的调试: 1. **连接到应用**:使用工具连接到你的SWF应用程序。这通常通过输入应用的URL或选择本地的SWF文件来完成。 2. **设置监控变量**:在工具界面...

Global site tag (gtag.js) - Google Analytics