21.9.学习常用的提高性能的技巧

21.9.1.问题
我要确保我的程序运行的既快又好。
21.9.2.解决方案
使用下面的几个改善性能的技巧,如果你使用Flex Builder,那么可以使用调试窗口查看你的程序中关键的几步创建对象和内存回收的情况。
21.9.3.讨论
有时细小的调整会造成很大的不同。下面是一小部分能够改善你的程序性能的做法:
1)如果不知道一个对象的类型,使用as操作符而不是使用try...catch,后者更慢一些:
+展开
-ActionScript
var iface:IMyInterface = (obj as IMyInterface);


2)稀疏数组访问起来比较慢,所以把空的项填上null会提高速度。从数组中找不到一个值的操作非常慢,比找到一个值要慢20倍。

3)当加整数时,Flash Player会把整数转化成数字,加完后再转换回来。因此当执行数学计算时,应当尽量使用数字,只是在最后再转换成整数。

4)局部变量的访问速度比较快,因此频繁访问的变量尽量设置成局部变量。它们会被存储在栈上,访问起来非常快。

5)如果可能,在创建显示组件时尽量使用延迟的实例化以避免让用户等待。

6)数据绑定会耗费内存并减慢程序启动时间。如果不需要绑定,比如一个值只会更新一两次,那么最好直接设置它的值。

7)不用使用容器类作为List或DataGird的itemRenderer;而应该使用UIComponent。

8)如果你使用组件或对象监听了某个事件,并希望以后被垃圾回收,记得要使用removeEventListener移除事件监听。

9)对于色彩丰富的UIConponent或者包含位图数据的对象使用cacheAsBitmap。这样Flash Player就能重复使用创建的位图来显示,直到需要重绘。注意,想要改变缓存的位图非常困难,并且在缩放时可能会失真。

10)运行期调用setStyle代价很大,所以要减少类似的操作。但是在DisplayObject对象添加到显示列表之前调用setStyle的的开支会小一些。

加支付宝好友偷能量挖...


评论(0)网络
阅读(121)喜欢(0)flash/flex/fcs/AIR