Goltime Design! 古太设计

 Flash的兄弟:Flex程序开发心得总结

Aclis, 发表于:2008-4-17 13:33:55, 分类:设计软件 浏览( ) 评论( )  收藏这篇日志
      古太设计4月17日,作为Flash 的兄弟,Flex的开发与前者有类似之处,从语言角度上讲,二者都使用ActionScript。不过Flex和Flash的脚本封装方式和位置有很大不同,Flex和Flash的亲密关系,使得Flash开发人员成为了Flex最早的一批用户。这两者都使用ActionScript语言,但从技术角度上看,Flex和Flash的差异很大。对初学者而言,绝不能等而视之。下面针对FLex自身的特点,做一下总结:
和Flash的开发环境相比,Flex提供的组件库确实很诱人,但由于功能太全面,导致程序的体积大,有时候使用不当,可能会影响程序运行效率。

在Flex的帮助手册中,有一个专门的章节讲了程序的优化,下面是我结合帮助作的几点小结:

1、避免容器的多级嵌套,减少相对尺寸、相对定位的使用。
在使用百分比来给容器内的元件定尺寸,一旦容器中的任何一个元件的位置和尺寸变化,都会引发容器对所有子级的重定位动作。如果嵌套的级别很深,这个计算量会很大。

2、尽量使用轻量级的容器
Canvas是体积最小的容器,它只支持绝对定位。很多时候,都可以使用它来代替HBOx和VBox。另外,Canvas也是我们编写自定义容器性质组件的一个首选。它具有容器的基本功能,利于扩展。

3、避免使用大体积的组件,比如DataGrid、AdvancedDataGrid
大个子组件的功能强大,但开销也是非常大的。由于功能的复杂性,使得皮肤、样式、itemRenderer的实现都格外复杂。

4、处理数据时多用分页的方式
在使用数据类型控件时,尽量减少数据一次的显示量。比如TileList,它会把数据一次性全部创建,不管是不是需要显示,这样很浪费资源。 ViewStack 、TabNavigator等在处理元件时,并不是一次创建,只要元件在第一次被显示时才创建,这样,就避免的不必要的开销。

5、setStyle和styleName
Flex 组件的皮肤都是可视化元件,组件在自身初始化时,会使用当前的样式比如styleName完成所有皮肤元件的绘制。如果我们在运行期间通过setStyle修改了组件的样式,组件的尺寸、位置就会作相应调整。联系到第一条,如果组件位于一个层级很深的容器中,也会有一个大的计算量。
正在读取日志的评论数据,请稍后...
正在加载日志评论的签写框,请稍后...
 日历助手
正在载入日历助手...
 站点分类列表
 站点最新评论
正在载入最新评论...