flex small tips 小结

原创 2012年03月22日 06:40:52
1.避免容器的深层嵌套(因为每个容器都会对其子容器进行计算和调整,一般建议HBox,VBox最好不要超过3层,但对于复杂系统这个很难避免)
2.对于容器和空间的位置和尺寸尽量采用绝对坐标和硬编码。(减少Flash Player深层次的嵌套计算)

3.合理恰当的使用Grid容器,对于能用普通容器如HBox,VBox实现的尽量不要采用Grid(Grid嵌套层次深)

合理使用Array和ArrayCollection及DataGrid和AdvancedDataGrid,前者满足要求就不要使用后者

合理使用bindable,滥用导致内存泄漏

4.避免使用重复、冗余的容器嵌套,如:
 1) 在Panel,Application中添加一层VBox,Panel,Application本来就是继承于VBox的,添加无谓的VBox只能降低你系统的性能。
 2) 对于自定义的容器减少重复多余的父容器,比如:
  <mx:VBox backgroundColor=" #FFCCCC" borderStyle=" solid">
   <myComponent xmlns=" *" />
  </mx:VBox>
 你完全可以采用下面的写法,对于myComponents可能它本身就是VBox
  <myComponent xmlns=" *" backgroundColor=" #FFCCCC" borderStyle="solid" />
5.延迟实例化导航类容器(Deferred Instantiation Navigator Containers)
   如ViewStack, Accordion, TabNavigator等,本身就提供了延迟实例化的功能,你只需要修改其creationPolicy='auto'即可,它将只实例化第一个要显示的子控件,其余的将在需要的时候实例化。
6.对于flex的效果(Effects)要做到尽量平滑(Smoothly),比如延长它的持续时间(duration),避免使用bmp格式的图片作背景。
7.对于DataGrid的复杂ItemRenderer,尽量用Canvas而不是VBox or HBox
8.如果DataGrid的ItemRenderer是ComboBox等,尽量用ItemEditor而不是ItemRenderer,只有当选中的cell才会显示其Renderer(避免一次性把所有的cell Renderer都画出来)
9.记得随时Remove 没有用的Listener或采用弱引用,这个我在事件机制中提到过(URL...); null不用的变量和数组。
10.对于大批量的数据采用需要的时候去取或者分页
11.提前声明频繁使用的变量,如:
var l:int=list.length;
var w:int = stage.stageWidth;
for(var i : int=0; i < l; i++){
 list[i].x = w -100;
}
12.这样也能提高Flex的性能,可能很多人都会不屑,但至少对于Flex来讲它能减少不必要的计算,改善性能,另外和代码组织有关的建议,如:
 1) 系统性的常量写在一个常量类里头并用const关键字,一些ItemRenderer代码尽量独立成一个文件而不是直接到处都写
 2) 不要在界面元素中引用一大串的parent.parent.parent...,一旦界面重新组织将给你带来很大麻烦。如果你用Cairngorm框架,那么就应该用ViewHelper,尽量的松耦合你的代码。
13.如果你用FDS,那么尽量用Remote Object 而不是Http Service or Web Service,因为前者的效率最高
14.对你的系统进行压力测试,Adobe有一个测试工具,叫Flex Stress Testing Framework
(rul:http://labs.adobe.com/wiki/index.php/Flex_Stress_Testing_Framework).
它能提供对RPC中的RTMP, AMF,HTTP测试,一般的商业测试软件不支持前两者的测试,
该软件完全免费,你可以到Adobe官网上下(URL: http://download.macromedia.com/pub/labs/flexstress/flex_stressfw_p2_060407.zip)


android插件化small框架初探(一)

一个项目包涵多个module,且互相独立,没有依赖关系,但是可以相互跳转,方便维护,多个module插在一个app宿主上,这是我理解的插件化。包含公共库插件lib,业务插件module及宿主app(只...
  • androidV
  • androidV
  • 2017年02月06日 14:52
  • 600

学习入门small框架

文章为个人原创总结,请勿随意转发,转发请注明出处!!!
  • u010942946
  • u010942946
  • 2017年03月15日 19:43
  • 277

一些关于Web前端的小tips

代码细节
  • DeepLies
  • DeepLies
  • 2017年05月08日 11:41
  • 402

【Unity Tips】备忘录(扫盲篇)

写在前面 Unity3D虽然是个非常方便的游戏引擎,但还是有一些地方会产生一些让人莫名其妙的问题,而且debug半天也不知道到底哪里错了。往往在经过了大量的log之后,也许我们才顿悟,原来Unit...
  • candycat1992
  • candycat1992
  • 2014年04月04日 14:03
  • 10735

Excel:函数中的万金油:INDEX+SMALL+IF

Excel里有个号称“万能”的函数组合,这个函数组合就是INDEX+SMALL+IF,很多应用场合都能看到它们的身影。 这个函数的特点是:能提取出满足某条件或某些条件的所有数据,可以一次性返回...
  • 3150379
  • 3150379
  • 2017年02月14日 09:44
  • 2470

使用Small创建iOS工程目录

small.iOS 自定义工程配置
  • dengzhaowensky
  • dengzhaowensky
  • 2016年07月18日 09:52
  • 519

Android插件化(使用Small框架)

Android插件化(使用Small框架)框架源码1. Create ProjectFile->New->New Project...1.1 Configure your new project假设宿...
  • cuiran
  • cuiran
  • 2016年01月21日 09:16
  • 15515

腾讯QQ精准TIPS消息营销介绍

Tips消息:Tips消息是一种腾讯特有的消息精准告知方式,是在QQ用户在线时,不定时触发的一个图文并茂的消息框,该消息框在屏幕窗口右下角弹出,用户不主动点击则不会在桌面消失,保持时间长,点击效率高,...
  • lzlchangqi
  • lzlchangqi
  • 2016年10月16日 17:45
  • 595

C#使用Tips(部分)

C#基本使用
  • u012526003
  • u012526003
  • 2015年12月15日 18:58
  • 718

安卓旧项目使用Small框架插件化改造踩坑记

我们团队把一个10万行安卓代码的旧项目(电商系统管理台App),使用Small框架做了插件化改造。把项目分成了10多个插件模块,解除了业务模块之间的代码耦合,为业务功能的快速迭代和多团队并行开发做好基...
  • offbye
  • offbye
  • 2016年07月23日 10:14
  • 4864
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:flex small tips 小结
举报原因:
原因补充:

(最多只允许输入30个字)