`
bufanliu
  • 浏览: 200610 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Flex应用启动背后的故事

    博客分类:
  • 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事件

大多数情况下, 我们使用<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是Adobe Systems Incorporated推出的一款用于构建高质量的Rich Internet Applications(RIA)的开源框架。它基于Flash平台,允许开发者使用标准的Web...

    Flex应用案例.zip

    Flex是Adobe公司开发的一种用于构建富互联网应用程序(RIA)的技术框架,主要基于ActionScript和MXML语言。在本文中,我们将深入探讨Flex的应用场景、核心概念以及如何通过具体案例来理解其工作原理。 1. Flex简介 ...

    测试flex应用程序

    在IT行业中,Flex是一种用于构建富互联网应用程序(RIA)的框架,它基于ActionScript和Flash Player或Adobe AIR运行时。Flex应用程序通常具有丰富的用户界面,能够提供动态交互体验。而当我们需要对这些Flex应用程序...

    使用IntelliJ_IDEA开发Flex应用

    ### 使用IntelliJ IDEA开发Flex应用 随着技术的发展与需求的变化,不同的开发工具与平台不断地涌现,以适应各种复杂的开发场景。其中,Flex作为一种用于构建跨浏览器和操作系统桌面应用程序的技术框架,仍然拥有...

    Flex企业应用开发实战.rar

    《Flex企业应用开发实战》共分为4大部分,涵盖企业级应用开发的整个生命周期。首先介绍了Flex/Flash的工作机理和利用Flex开发企业级应用必须掌握的基础知识和核心元素;接着剖析了Flex与Java的通信机制,以及Flex...

    企业应用FLEX开发实战

    《企业应用FLEX开发实战》是一本专注于使用Adobe FLEX进行企业级应用程序开发的实践教程。本书涵盖了从基础到高级的各个层面,旨在帮助开发者掌握FLEX技术在实际项目中的应用,提升软件开发效率和质量。书中内容分为...

    17个典型的Flex应用案例介绍

    Flex是一种由Adobe公司开发的富互联网应用程序(RIA)框架,用于构建交互性强、用户体验丰富的Web应用。本篇文章将深入探讨17个典型的Flex应用案例,这些案例展示了Flex在不同领域的广泛应用和卓越性能。 1. **Vook...

    Flex启动与初始化

    Flex 启动与初始化过程是指 Flex 应用程序从启动到显示的整个过程。在这个过程中,Flex 系统会创建一个 SystemManager 对象,该对象是应用程序的入口,负责控制 swf 的加载和启动,也负责划分 Flex 工程显示层级。 ...

    flex企业应用开发实践.pdf

    《Flex企业应用开发实践》这本书由兰天、曲鹏东、孙高飞、姜建卫四位资深专家共同撰写,他们都是在IT行业有着近10年丰富经验的专业人士,尤其在JavaEE企业级应用开发领域有着深厚的造诣。本书不仅详细介绍了Flex与...

    Flex应用实例 Flex做的旅游系统

    Flex是由Adobe公司开发的一种富互联网应用程序(Rich Internet Application,RIA)框架,主要用于构建具有动态图形、交互性丰富的Web应用程序。这个“Flex应用实例 - Flex做的旅游系统”是一个很好的学习资源,它...

    Flex企业应用开发实战-迷你版-电子书

    《Flex企业应用开发实战》全书共分为4大部分,涵盖企业级应用开发的整个生命周期。首先介绍了Flex/Flash的工作机理和利用Flex开发企业级应用必须掌握的基础知识和核心元素;接着剖析了Flex与Java的通信机制,以及...

    FLEX企业应用开发实战PDF

    《FLEX企业应用开发实战》是一本专注于使用Adobe Flex技术进行企业级应用程序开发的专业书籍。Flex是Adobe公司推出的一种开放源代码的富互联网应用程序(Rich Internet Application,RIA)框架,它基于ActionScript...

    FLEX简单应用工程

    FLEX(Flexible Application by Adobe)是由Adobe公司开发的一种用于构建富互联网应用程序(Rich Internet Applications,RIA)的框架。FLEX基于ActionScript编程语言和MXML标记语言,能够创建高度交互、视觉效果...

    ArcGIS Server Flex 应用视频

    《ArcGIS Server Flex 应用视频》是一系列教程资源,主要针对使用Flex技术与ArcGIS Server进行集成开发的用户。ArcGIS Server是Esri公司的核心地理信息系统产品,它提供了强大的地图服务和地理处理功能,而Flex则是...

    Flex 桌面应用

    Flex桌面应用是基于Adobe Flex技术构建的用于开发桌面应用程序的框架。Adobe Flex最初是一个用于创建富互联网应用程序(RIA)的工具,后来发展出能够构建桌面应用程序的功能,这得益于Adobe AIR(Adobe Integrated ...

    基于 flex+java 的登录应用

    在本文中,我们将深入探讨如何使用Flex和Java技术构建一个登录应用程序。Flex是一种基于ActionScript的开源框架,用于创建富互联网应用程序(RIA),而Java则是一种广泛使用的后端编程语言,提供强大的服务器端功能...

    FLEX企业应用开发实战(PDF+源码)

    《FLEX企业应用开发实战》是一本专注于使用Adobe Flex技术进行企业级应用程序开发的专业书籍。Flex是基于ActionScript和MXML的开源框架,用于构建富互联网应用程序(RIA),尤其适用于创建交互性强、用户体验丰富的...

    flex_src.rar_CMS合同_flex_flex CMS opensource_flex java_flex 应用

    Flex CMS合同应用是一款基于Flex技术构建的内容管理系统,主要用于合同的管理和操作。这个开源项目结合了Flex前端技术和Java后端服务,提供了一套完整的解决方案来处理企业的合同数据和流程。下面将详细阐述Flex、...

    flex高级日历应用类

    标题中的“flex高级日历应用类”指的是使用Adobe Flex技术构建的一个复杂日历应用程序。Flex是一种基于MXML和ActionScript的开源框架,用于构建富互联网应用程序(RIA)。它允许开发者创建具有丰富用户界面的Web应用...

Global site tag (gtag.js) - Google Analytics