易截截图软件、单文件、免安装、纯绿色、仅160KB

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 中event 被触发的问题

  strategyMarketsOfCurrentStrategy.addEventListener(CollectionEvent.COLLECTION_CHANGE,          strategyMarketsDataChangedHandler);
          strategyMarketsOfCurrentStrategy.removeAll();   &nbs ......

Flex事件机制基础(二)

4. 理解事件阶段(Event Phases) 我们把事件触发源分为两类:一类是那些显示在界面中的元素抛出的事件,一类是那些不在界面中显示的元素抛出的事件。很简单,举个例子:第一类如URLLoader对象去load图片或其他资源所抛出的如complete事件,就属于第一类。界面上的一个按钮所抛出的click事件就是第二类,它会触发一个事件流, ......

Flex通过javascript读写cookie

最近遇到个问题,开发web项目的时候,可能flex只用来实现项目的部分模块。当flex需要在客户端写入/读取一些状态信息的时候,我们会想到用cookie。flex是不支持cookie的,只有SharedObject这个本地对象。所以解决的办法就有两个:
flex通过调用js来实现对cookie的操作;
js通过flex实现对SharedObject的操作;
这两种方法 ......

网页向flex传参数方法及要点

网上能查到很多类似资料,但完整性不敢恭维。以下是解决方案及要点:
方法一:
通过url的方式向flex传参数
第1步:在网页中设置一个链接,如 <a
href="test.jsp?p1=test1&p2=test2">测试链接一</a>,其中test.jsp嵌入了
flash
第2步:获取参数
var params:Object
=URLUtil.parseUrlPara ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号