文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

FlexApplication初始化顺序是怎么样的

2023-06-17 14:41

关注

这篇文章将为大家详细讲解有关FlexApplication初始化顺序是怎么样的,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

Flex组件在建立的时候都会经历四个事件:preinitialize, initialize, creationComplete和updateComplete,而FlexApplication初始化顺序是preloader->systemManager->FlexApplicationstarted。

FlexApplication初始化顺序

FlexApplication初始化顺序是preloader->systemManager->FlexApplicationstarted...

◆preinitialize

在所有的初始化之前触发,没有子组件的定义,但是可以引用组件的变量.

◆initialize

当所有子组件生成完成后触发,在这个时间点还没有组件被渲染出来.

◆reationComplete

组件定义完成并已经在显示列表.

◆applicationComplete

所有的组件初始化完成并显示.

首先介绍一下SystemManager.SystemManager是Flex应用的主控者,它控制着应用窗口,Application实例,弹出窗口,cursors,并管理着ApplicationDomain中的类.SystemManager是FlashPlayer实例化的***个类,它存储了主应用窗口的大小和位置信息,保存其子组件比如:浮动弹出窗口和模态窗口的痕迹.通过SystemManager可以获得内嵌字体,样式和document对象.
自定义的可视化组件(UIComponent的子类)只有在调用过addChild()后,才会有一个SystemManager赋给他们,之前是Null.所以在自定义可视化组件的构造函数中不要使用SystemManager.

Application对象创建时发生事件:

实例化Application对象
2.FlexApplication初始化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和少量工具类都在***帧,剩下的包括应用代码/内嵌资源全都在第二帧中.当FlashPlayer下载下载SWF时,只要接收到***帧内足够的数据,就会实例化SystemManager,由它来创建Preloader,然后创建DownloadProgressBar,这两个对象会察看剩余字节的传输过程.当***帧的所有字节传输完毕后,SystemManager发送enterFrame到第二帧,然后是其他事件.***Application对象派发applicationComplete事件.

Flex是一个事件驱动的编程模型,任何事情的发生,其背后必然存在一个事件.而开发者***次看到MXML时,很难体会到一个Xml标记的应用的事件流和实例化的生命周期.这个对于HTML和Flash的开发者尤其会感到困惑,因为其熟悉的方式与Flex的一点也不相似.HTML的实例化是从上到下的,Flash的执行是从Frame0开始一帧帧运行的.而Flex则又有不同.
从我们开始学习Flex时,我们就需要了解事件流和MXML的实例化.我非常困惑因为我实在难以理解什么样的事件会被触发或者事件什么时候会被触发.关键是要理解事件的基础并亲自观察事件流的初始化.

关于“FlexApplication初始化顺序是怎么样的”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     801人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     348人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     311人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     432人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     220人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯