zoukankan      html  css  js  c++  java
  • Flex4显示优化:DisplayObject和IGraphicElement的区别

    DisplayObject是重量级的Flash对象,Flex4大量依靠Skin来调款式很容易会造成运行速度问题。Skin里面的款式会创建很多DisplayObject对象。幸亏,Flex4也有办法减少DisplayObject占用过多内存的办法:IGraphicElement

    实现IGraphicElement的类不必继承DisplayObject。需要显示的时候,他们的容器(Group)会替他们提供DisplayObject。如果Group能提供一个实现ISharedDisplayObject的DisplayObject,多个IGraphicElement可以通用一个DisplayObject。Group会负责创建和分配DisplayObject对象。这样能提神显示效率,特别是降低内存用量。

    Adobe的Flex4设计方案中有几个好示意图:http://opensource.adobe.com/wiki/display/flexsdk/IGraphicElement

    怎么利用这个功能?写显示代码时,要尽量用轻量的IGraphicElement对象,如Bitmap、Rect、Line等,减少周围的容器。特别是在重复使用的组件如ItemRenderer中。

    比如,用几个Group来布局一个ItemRenderer不如用绝对布局:

    <ItemRenderer>
    <Group>
      <Bitmap/>
    </Group>
    <Group>
      <Rect/>
    </Group>
    </ItemRenderer>

    最少使用3个DisplayObject

    <ItemRenderer>
      <Bitmap/>
      <Rect/>
    </ItemRenderer>

    可以只用一个DisplayObject

    怎么检测你的组件用多少DisplayObject呢?请看:http://www.billdwhite.com/wordpress/?p=296

  • 相关阅读:
    一步一步本地化部署mapbox-gl
    快速排序
    合并排序
    冒泡排序
    选择排序
    插入排序
    mapbox-gl象形文字字体glyph生成
    前端html
    Mysql练习
    Mysql语句
  • 原文地址:https://www.cnblogs.com/bmate/p/1868242.html
Copyright © 2011-2022 走看看