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

  • 相关阅读:
    Flask websocket
    Vuex
    Web框架的原理
    node.js
    nginx负载均衡实验
    nginx与location语法详解
    git安装与初始化
    Flask 中的 Render Redirect HttpResponse
    jQuery快速入门
    前端知识总结--css用div画环形圆
  • 原文地址:https://www.cnblogs.com/bmate/p/1868242.html
Copyright © 2011-2022 走看看