原创文章如转载,请注明:转载自FLEX开发乐园 [ http://www.flexswf.com ]
了解Flex应用的生命周期
尽管创建一些Flex应用而不去理解这些应用的生命周期是可能的,但是了解它有利于你了解Flex应用的基本结构:各种事件的发生顺序。这将会帮助你设置一些特性比如自定义预加载处理,在应用运行期间加载其他的应用,以及在运行期间管理类库与资源的加载和卸载过程。此外,对于Flex应用的生命周期有较好的理解能够让你创建出更好的应用,因为你将知道在何处运行代码是最佳的。例如,你需要确保一些代码在预加载处理期间运行,你需要知道应该将代码放置在何处去处理预处理事件。对于应用的生命周期的理解使你创建的应用可以实现最优化的用户体验。
正如第一章所示,Flex应用基本上是使用了Flex框架的Flash应用(用ActionScript写成的)。那意味着Flex应用能够实现所有Flash应用可以实现的功能。Flex应用的根元素是SystemManager,SystemManager是FlashPlayer的显示对象类型flash.display.MovieClip的子类。MovieClip是一种支持帧的显示对象,帧是构成时间线的单位。SystemManager只有两帧。swf格式是一种渐进式下载的格式,这意味着Flash Player不需要等待整个文件全部下载完成就能够先处理目前已经下载了的帧的内容。第一帧用于在应用加载过程中显示一个下载进度指示器。这一帧的文件尺寸很小,因此几乎可以瞬间下载完成并运行,并且它不需要用到Flex框架。第二帧包含应用本身(涉及应用利用到的Flex框架的大部分)。(你可以通过阅读本章后面部分“Flex应用的引导过程”来了解更多的关于应用是如何开始和管理的。)了解SystemManager是如何工作的对于自定义预加载处理和在运行时有效的加载Flex应用是很必要的。
当Flex应用的SystemManager实例进入第二帧后,它会为Flex应用创建一个主application类。Flex应用的SystemManager实例拥有一个application属性,但是在它在第二帧上创建出application对象之前,application属性的值都是null。因此,application实例能够在他自己的启动过程中初始化和运行。这意味着所有的application对象内部生命周期事件都会发生。内部生命周期时间有以下几个:
preinitialize
application已经初始化完成但是还没有开始创建任何子组件。
initialize
application已经创建好了所有的子组件,但是还没有对他们应用布局。
creationComplete
application已经全部完成子组件的初始化和布局。
当application完成了其内部启动过程后,他会通知SystemManager,然后SystemManager会触发一个applicationComplete事件。至此以后,应用已经准备好运行了。
SystemManager管理着所有显示出来的应用内容。包括填出窗口,鼠标指针以及工具提示都包含在SystemManager实例当中。
SystemManager拥有一个topLevelSystemManager属性。这是对作为在Flash Player中运行的一切的根对象SystemManager实例的一个引用。当把Flex应用作为主应用加载到Flash Player中是,这个属性总是引用自己。然而,当一个Flex应用加载到另一个拥有SystemManager实例的Flex对应用当中时,这个Flex应用的SystemManager对象的topLevelSystemManager属性将引用父项的SystemManager对象而不是他自己本身。
尽管你在应用中不需要经常引用SystemManager,但是你可以随时在你需要的时候引用它。所有UIComponents类的子类(包括Application类)都拥有一个systemManager属性引用应用的SystemManager。开发者通常使用SystemManager来监听应用中任何显示对象出发的事件。当这些事件出于冒泡阶段,SystemManager将是最后有机会控制事件的对象。
分享到:
相关推荐
在开发Flex应用程序时,了解这些生命周期方法可以帮助优化组件性能,减少不必要的计算,以及确保在正确的时间执行必要的操作。例如,数据绑定通常在`initialize()`方法中完成,而改变组件大小的逻辑则应在`...
通过深入了解Flex组件生命周期的各个阶段,开发者能够更好地管理组件的状态变化,确保应用具有良好的性能和用户体验。在实践中,合理利用这些知识可以帮助开发者编写更加高效、可维护的Flex应用程序。
在深入理解 Flex3 的组件和框架生命周期之前,我们需要先了解 Flex 的历史背景以及其运行机制。 Flex 简史: Flex 的发展始于2004年,最初由 Macromedia 开发,后来被 Adobe 收购。Flex3 是一个关键版本,引入了更...
### Flex3组件和框架的生命周期 ...总体而言,了解Flex3组件和应用程序的生命周期对于构建高效稳定的Flex应用至关重要。通过遵循最佳实践,开发者可以充分利用Flex3的强大功能,同时避免常见的陷阱和问题。
### 理解Flex3的组件和框架的生命周期 ...通过深入了解Flex3组件和框架的生命周期,开发者可以更好地优化应用程序的性能,并确保用户获得流畅的体验。此外,遵循上述最佳实践有助于构建出高质量、高效率的应用程序。
了解Flex组件生命周期对于进行任何严肃的Flex开发至关重要,而这份教程正好提供了相关的深入知识。 总结来说,Flex在企业级应用开发领域长期以来一直是一个出色的选择,提供了一个成熟的UI框架、交互式调试器以及一...
3. **Flex应用生命周期** - 从初始化、创建到显示和销毁,理解Flex应用的生命周期对于优化性能至关重要。 4. **数据绑定** - Flex支持双向数据绑定,允许视图组件和模型数据之间的自动同步,简化了开发过程。 5....
10. **Flex应用生命周期**:从初始化到销毁,Flex应用有明确的生命周期。理解这个过程对于优化性能和正确处理资源释放至关重要。 通过阅读和学习这个Flex中文帮助文档,初级用户将能够逐步熟悉Flex的基本概念,掌握...
7. **Flex应用生命周期**:从初始化、布局计算、绘制到事件处理,理解Flex应用的生命周期对于优化性能和解决运行时问题至关重要。 8. **Flex图表和可视化**:Flex SDK提供了丰富的图表组件,可以创建各种统计图表和...
同时,我们将了解MXML与ActionScript 3.0的交互,理解MXML组件的生命周期和事件处理。 第十三章:Flex应用程序架构与数据服务 在Flex应用开发中,良好的架构设计至关重要。这一章将探讨MVC(模型-视图-控制器)模式...
11. **Flex应用生命周期**:从初始化、创建到销毁,Flex应用有一套完整的生命周期管理,理解这个过程对优化性能和资源利用至关重要。 12. **Flex与AIR**:Adobe AIR(Adobe Integrated Runtime)允许Flex应用脱离...
8. **Flex应用程序生命周期**:理解Flex应用从启动到关闭的整个过程,包括初始化、布局、渲染、事件处理等阶段,有助于优化性能和解决运行时问题。 9. **Flex性能优化**:学习如何通过优化组件使用、减少网络请求、...
首先,让我们了解一下Flex组件生命周期的基本概念。每个Flex组件都有一个从创建到销毁的过程,这个过程被称为组件生命周期。它包括几个关键阶段,如初始化、测量、布局、绘制以及事件处理等。这些阶段确保了组件正确...
8. **Flex应用生命周期**: 包括初始化、加载、运行、暂停、恢复、卸载等阶段,理解这些阶段对于优化性能至关重要。 在深入学习Flex时,你还需要掌握ActionScript的面向对象编程、错误处理、网络通信(如AMF或...
8. **Flex应用程序生命周期**:Flex应用有其特定的生命周期,包括初始化、创建完成、显示列表改变、激活和暂停等阶段。理解这些阶段对于正确管理和更新应用程序状态至关重要。 9. **数据绑定**:Flex支持数据绑定,...
七、Flex应用生命周期 了解Flex应用的生命周期对于优化性能至关重要。从初始化、创建到运行和销毁,每个阶段都有相应的事件和方法,开发者需要掌握如何有效地管理这些过程。 八、服务连接 Flex支持与各种后端服务...
9. **Flex应用生命周期**:了解Flex组件的创建、初始化和销毁过程,这对于优化应用性能和管理资源至关重要。 这个教学视频的第一部分很可能是打下坚实基础的阶段,确保初学者对Flex的基本架构和开发流程有清晰的...
11. **Flex应用生命周期**:从初始化、渲染到运行和销毁,了解Flex应用的生命周期对于优化性能和管理资源至关重要。 12. **Flex最佳实践**:包括代码组织、性能优化、错误处理、调试技巧等方面的知识,有助于提升...
全书共分为4大部分,涵盖企业级应用开发的整个生命周期。首先介绍了Flex/Flash的工作机理和利用Flex开发企业级应用必须掌握的基础知识和核心元素;接着剖析了Flex与Java的通信机制,以及Flex企业应用的客户端架构和...