`
yunzhongxia
  • 浏览: 640328 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Flex失效机制

    博客分类:
  • flex
 
阅读更多

   一、什么是失效机制

        Flex 使用“失效机制(invalidation mechanism)”来同步组件的更改。Flex 用一系列方法的调用,比如在setter方法内监控一个变更变量来标记组件的某些东西已经发生变化, 然后在下一个“渲染事件(renderevent)” 中触发组件的commitProperties(), measure(), layoutChrome(),updateDisplayList()检查这些布尔变量来完成最终的变更逻辑。这样做的额外好处就是setter方法可以更迅速地返回,把对新属性值的处理留给了commitProperties()方法。

 

  二、为什么使用失效机制

      一种情况是,当设置了组件的多个属性后,比如Button 控件的label 和icon 属性,我们需要所有属性被设置后一次性执行commitProperties(), measure(), updateDisplayList()方法,而不是设置过label 属性后执行一遍这些方法,然后在设置icon属性后又执行一次这些方法。

另一种情况是几个组件同时更改了它们的字体大小。程序更改字体大小的执行速度大大快于Flex 更新应用的速度,因此要在确定最终更改字体之后才开始更新布局。另外,Flex 需要协调布局操作以消除任何冗余过程,而不是在每个组件更新它的字体大小之后都执行一次布局操作。

 

  三、失效方法的联系

       失效方法及其对应的触发函数如下:
      1. invalidateProperties() 通知组件,以使下次屏幕更新时,它的commitProperties()方法被调用。

      2. invalidateSize() 通知组件,以使下次屏幕更新时,它的measure()方法被调用。

      3. invalidateDisplayList() 通知组件,以使下次屏幕更新时它的layoutChrome()方法和updateDisplayList()方法能被调用。

      当组件调用一个“失效”方法时,它就通知Flex该组件已经被更新。当多个组件调用失效
     方法,Flex 会在schedules中协调这些更新,以使这些更新操作在下一次屏幕更新时一起执行。注意,createChildren()没有对应的失效方法,它会在调用后被立即执行。

 

  四、循环周期中我们可以遵循以下的规则

    1.如果属性需要改变子组件的一个属性时,调用invalidateProperties()同时重写commitProperties()方法。

    2.如果属性需要改变当前组件上的一些可见的内容时,调用invalidateDisplayList()方法同时重写 updateDisplayList()方法。

    3.如果属性影响了组件的大小,调用invalidateSize()方法并重写measure()方法。

分享到:
评论

相关推荐

    flex事件机制的分发

    flex事件机制,flex事件机制的分发,flex事件机制,flex事件机制的分发,flex事件机制,flex事件机制的分发,flex事件机制,flex事件机制的分发,flex事件机制,flex事件机制的分发

    flex安全机制详解

    flex 安全机制 以及代码示例全面详细解读进程之间的通讯 客户端与服务器的通讯

    flex事件机制的demo

    Flex ActionScript3.0事件机制的Demo, 举例说明了事件的三个阶段,事件的派发,事件的侦听,事件的拦截,自定义事件等相关知识点. 以上知识点在Demo中都有体现,初学者请仔细分析代码,加强理解,多调试、修改、验证以加深...

    Flex 事件机制,flex入门学习

    Flex 事件机制,flex入门学习的好帮手

    Flex事件机制(通俗易懂)

    Flex事件机制,其实Flex的核心就是事件,了解了其中的原理,学习起Flex就不是很难了,这篇的内容对初学者有很大的帮助,我从中受益很多,看完之后,对Flex的认识进一步加深了,很好的资料。希望对大家有所帮助。

    Flex事件机制详细说明

    快速掌握flex的事件机制,让你灵活运用flex的事件完成所有功能。

    flex打印机制详解

    flex打印机制,使用flex内置打印容器类解决打印问题。

    flex itemRenderer 渲染机制的概念和使用

    flex itemRenderer 渲染机制的概念和使用

    flex事件机制分析

    简要说明了flex的事件流、事件处理等方面的知识。

    flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图

    flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图flex 地图...

    FLEX特效FLEX特效FLEX特效FLEX特效

    FLEX特效FLEX特效FLEX特效FLEX特效 FLEX特效FLEX特效FLEX特效FLEX特效 FLEX特效FLEX特效FLEX特效FLEX特效 FLEX特效FLEX特效FLEX特效FLEX特效

    Flex Flex Flex Flex

    Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex Flex ...

    Flex的事件机制笔记

    Flex的事件机制笔记,是初级的笔记,对应初级的Flex程序员或爱好者有用

    Flex简介Flex简介Flex简介Flex简介

    Flex简介Flex简介Flex简介Flex简介Flex简介

    flex事件flex事件flex事件flex事件

    flex事件flex事件flex事件flex事件flex事件

    flex垃圾回收机制是什么原理

    这很好理解,每个 Flex 应用总有一个 Application 的入口被称为根节点(Root),垃圾收集器从根节点开始遍历每个对象,对可达对象标记为“有效”(有一种例外就是弱引用,后面的章节详谈)。而在这棵树之外的孤岛...

    flex精通 flex接口

    flex 精通 flexflex 精通 flexflex 精通 flexflex 精通 flexflex 精通 flexflex 精通 flexflex 精通 flexflex 精通 flexflex 精通 flexflex 精通 flexflex 精通 flexflex 精通 flexflex学习的好资源啊

    Flex4.5事件机制

    Flex4.5事件机制详细描述教程,希望能给大家帮助~~

    Flex 组件Flex 组件Flex 组件

    Flex 组件Flex 组件Flex 组件Flex 组件Flex 组件

    Flex垃圾回收机制详解

    Adobe官方的Flex垃圾回收机制说明,理解了这个文档,将真正理解ActionScript的垃圾回收机制,编写高性能的Flex程序

Global site tag (gtag.js) - Google Analytics