`
jinxinhero
  • 浏览: 26760 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

[转载]Flex应用程序的启动与运行

 
阅读更多



 Flex应用程序的启动与运行
文章出自:http://www.jexchen.com
     Flex应用程序总的来说是以事件驱动的程序,因此,大家在深入学习Flex的各个方面知识的时候,应该随时以事件驱动的观点来进行思考。

 

     大家都知道,我们在编写Flex应用程序时,通常是以<mx:Application>标签作为开头,实际上,Flex应用程序在启动 运行的时候并不是直接从Application开始运行,在这之前还有一部分悄悄的先运行了,正如大家所看到的,当我们运行编写好的Flex应用程序时, 尽管我们没有编写任何与启动进度载入条相关的代码,但无一例外的,应用程序均会为我们自动加上这一部分。因此才有我们看到的如下图所示的标准的Flex loading载入条。

 

      

 

     通常我们所说的Flex应用程序,本质上来说是基于Flex框架、采用ActionScript 3.0编写的Flash应用程序,从这一点来说,它和普通的Flash应用程序没有任何差别。

 

     相对来说,传统的使用Flash IDE(如Flash CS3)创建Flash程序时更多的基于“时间线”(Timeline)及“帧”(Frame)的概念,更易于设计师理解;而基于Flex框架来创建的 Flash应用程序更多是强调程序性,很少提及“时间线”与“帧”的概念,更易于程序员理解。其实Flex应用程序一样也有时间线,只是这部分由Flex 框架隐藏起来了,通常不为大家所熟悉,在默认创建Flex程序时,这一切Flex已帮我们完成了,但了解这部分内容更有助于大家对Flex应用程序的启动 有更深刻的认识,以便能对程序更灵活的控制与发挥。

 

     


     我们来看看上面这幅示意图,Flex应用程序共由两帧组成,第1帧为preloader部分,第2帧为主应用程序部分,此两部分由Flex应用程序 的根SystemManager统管。 

     SystemManager是flash.display.MovieClip的子类,影片剪辑(movie clip)支持帧。由于swf属于一种渐进式(progressive)下载的格式,正是由于swf格式这个特性,Flash Player并不需要等待整个程序下载完成便可直接访问已载入帧的内容,因此第一帧通常用来作为应用程序载入时的loading画面显示,一般来说,第一帧包含的内容应该尽可能的少(在第一帧中尽量不要含有Flex框架的组件),以便能很快的下载并立即显示;第二帧才是主应用程序真正的内容,一旦SystemManager实例进入到第二帧后,即开始内部主应用程序运行的生命周期(life cycle),也就是进入我们最为熟悉的<mx:Application>运行的部分。

     SystemManger实例有一application的属性,在第1帧时,此属性为null,当进入到第2帧时,该属性才指向真正的主程序application实例。

     记住我们开始所说的,Flex应用程序总的来说是以事件驱动的程序。在程序进入第2帧,主程序application开始运行后,便会相应的触发相应的一系列事件,按事件发生的先后顺序依次来介绍:

  • preinitialize

应用程序application已实例化,但此时还未创建任何相关的孩子组件(child component)

  • initialize

此时,创建了相应的孩子组件,但还未对这些子组件进行布局

  • creationComplete

应用程序application完成全部实例化,并完成所有子组件的布局

  • applicationComplete

上面三处事件的完成,表明application内部启动的整个进程完成,接下来便会通知SystemManager派发applicationComplete事件。

此时,启动程序启动完成并准备运行。

  • 大小: 3 KB
  • 大小: 12.5 KB
分享到:
评论

相关推荐

    Flex应用程序开发

    #### 二、Flex与Adobe Flash Platform Flex是Adobe Flash Platform的重要组成部分之一,该平台还包括了Adobe Flash Player和Adobe AIR。Adobe Flash Platform旨在为开发者提供一套完整的解决方案,用于创建跨浏览器...

    测试flex应用程序

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

    Flex 应用程序性能: 改善客户端应用程序和服务器性能的技巧与技术

    ### Flex 应用程序性能:改善客户端应用程序和服务器性能的技巧与技术 #### 概述 随着互联网技术的发展,富互联网应用(RIA)的需求日益增长。Macromedia Flex 是一个强大的平台,它允许开发者创建高性能的 RIA。...

    建立连接BlazeDS远程端的Flex应用程序

    #### 深入解析:BlazeDS在Flex与后台代码交互中的角色 BlazeDS是一款由Adobe开发的强大服务器端技术,用于实现Flex、AIR和Java应用程序之间的实时通信。它允许开发者在Flex前端与Java后端之间构建高效的数据流和...

    Flex启动与初始化

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

    Flex应用案例.zip

    Flex应用程序通常运行在Flash Player或Adobe AIR之上,能够跨平台运行。 2. Flex的主要组成部分 - ActionScript:Flex的核心编程语言,是一种面向对象的脚本语言,类似于JavaScript,但提供了更完善的面向对象特性...

    Flex应用程序性能改善技巧

    通过以上这些技巧,开发者可以显著提升Flex应用程序的运行效率,提供更加流畅的用户体验。对于深入学习和实践,可以查阅"Flex应用程序性能改善技巧.pdf"文档,它将提供更多细节和示例。记住,性能优化是一个持续的...

    Flex4:开发RIA应用程序

    5. Flex与Flash的关系: Flex是建立在Adobe Flash Platform上的,Flash Player是执行Flash和Flex应用的运行环境。Flex应用程序最终会被编译为SWF文件,然后通过Flash Player在浏览器中运行。 6. Flex应用程序部署:...

    flex例子.flex源程序

    Flex是一种开源的、基于ActionScript的编程框架,主要用于构建富互联网应用程序(Rich Internet Applications, RIA)。这个"flex例子.flex源程序"很显然是一个Flex开发的学习资源,它包含了一个或多个示例项目,用于...

    使用IntelliJ_IDEA开发Flex应用

    其中,Flex作为一种用于构建跨浏览器和操作系统桌面应用程序的技术框架,仍然拥有一定的用户群体。而IntelliJ IDEA作为一款功能强大的集成开发环境(IDE),在Java开发领域享有盛誉,同时也支持其他多种语言和技术栈...

    建立red5,flex应用程序

    在 Red5 上部署的 Flex 应用程序通常会利用 Red5 的 RTMP 协议进行音视频流的通信。要创建 Flex 客户端,你可以使用 Adobe Flex Builder 或者在 Eclipse 中安装 Flex 插件,创建 Flex 项目,编写 ActionScript 代码...

    集成 Flex 与 Ajax 应用程序

    集成 Flex 与 Ajax 应用程序是现代 Web 开发中的一种策略,旨在结合两种技术的优势,以创建丰富、交互性和高性能的用户体验。Flex,作为 Adobe 的一个开源框架,主要用于构建 Flash 应用程序,提供了丰富的用户界面...

    Eclipse创建FLEX应用程序[汇编].pdf

    【Eclipse创建FLEX应用程序】涉及的是软件开发领域中使用Eclipse IDE构建富客户端应用程序(Rich Client Platform,RCP)的知识。Eclipse是一款强大的开源集成开发环境,支持多种编程语言和开发工具,对于构建富...

    flex事件运行流程

    本文将深入探讨Flex事件运行流程,特别是与`mx:Application.applicationComplete`、`creationComplete`以及Flex应用程序初始化顺序相关的知识点。 首先,Flex应用程序的启动始于`preloader`阶段,系统管理器...

    flex3应用程序示例

    Flex3应用程序示例是针对初学者的一个小型项目,旨在帮助他们了解并掌握Adobe Flex 3这一编程框架。Flex 3是Adobe开发的一款用于构建富互联网应用程序(RIA)的开源框架,它基于ActionScript 3.0,允许开发者创建...

    企业应用FLEX开发实战

    第五章和第六章可能会探讨FLEX中的数据服务,如AMF通信、Web服务调用和 BlazeDS/LiveCycle Data Services的使用,让FLEX应用程序能够与后端服务器无缝交互,实现数据的获取和更新。 第七章至第九章可能涉及更高级的...

    使用 Flex 和 Flash Builder 开发手机应用程序

    在运行和调试方面,Flex和Flash Builder提供了管理启动配置的功能,并且可以在桌面上和设备上运行和调试应用程序。 在打包和导出应用程序方面,Flex和Flash Builder提供了导出用于发行的Android APK包和Apple iOS包...

    flex web工作流程图

    Flex是一款强大的开发框架,主要用于构建富互联网应用程序(Rich Internet Applications, RIA),它基于ActionScript编程语言和MXML标记语言,提供丰富的用户界面组件和交互功能。 在Flex中制作工作流程图,首先...

    Flex开发移动设备应用程序

    - **Adobe Flex与Adobe Flash Builder**: Adobe Flex 是一种开源框架,专为构建跨平台的桌面和移动应用程序而设计。Adobe Flash Builder 是一个集成开发环境(IDE),专门用于开发使用 Flex 框架的应用程序。两者...

Global site tag (gtag.js) - Google Analytics