转自:[url]http://hi.baidu.com/caijx/blog/item/14c6b631bf421fa15fdf0e6b.html[/url]
1.如果不知道一个对象的类型,使用as 操作符而不是使用 try ... catch ,后者更慢一些:
var iface:IMyInterface = (obj as IMyInterface);
2.稀疏数组访问起来比较慢,所以把空的项填上null会提高速度。从数组中找不到一个值的操作非常慢,比找到一个值要慢20倍
3.当加整数时,flash player会把整数转化为数字,加完后再转换回来。因此当执行数学计算时,应当尽量使用数字,只是在最后再转换成整数。
4.局部变量的访问速度比较快,因此频繁访问的变量尽量设置成局部变量。它们会被存储在堆栈上,访问起来非常快。
5.如果可能,在创建显示组件时尽量使用延迟的实例化以避免让用户等待.
6.数据绑定会耗费内存并减慢程序启动时间。如果不需要绑定,比如一个值只会更新一两次,那么最好直接设置它的值。
7.不用使用容器类作为List或DataGrid的itemRenderer;而应该使用UIComponent。
8.如果你使用组件或对象监听了某个事件,并希望以后被垃圾回收,记得使用removeEventListener移除事件监听。
9.对于色彩丰富的UIComponent或者包含位图数据的对象使用cachAsBitmap。这样Flash Player就能重复的使用创建的位图来显示,直到需要重绘。注意,想要改变缓存的位图非常困难,并且在缩放时可能会失真。
10.运行期调用setStyle代价很大,所以要减少类似的操作。但是在DisplayObject对象添加到显示列表之前调用setStyle的开支会小一些。
1.如果不知道一个对象的类型,使用as 操作符而不是使用 try ... catch ,后者更慢一些:
var iface:IMyInterface = (obj as IMyInterface);
2.稀疏数组访问起来比较慢,所以把空的项填上null会提高速度。从数组中找不到一个值的操作非常慢,比找到一个值要慢20倍
3.当加整数时,flash player会把整数转化为数字,加完后再转换回来。因此当执行数学计算时,应当尽量使用数字,只是在最后再转换成整数。
4.局部变量的访问速度比较快,因此频繁访问的变量尽量设置成局部变量。它们会被存储在堆栈上,访问起来非常快。
5.如果可能,在创建显示组件时尽量使用延迟的实例化以避免让用户等待.
6.数据绑定会耗费内存并减慢程序启动时间。如果不需要绑定,比如一个值只会更新一两次,那么最好直接设置它的值。
7.不用使用容器类作为List或DataGrid的itemRenderer;而应该使用UIComponent。
8.如果你使用组件或对象监听了某个事件,并希望以后被垃圾回收,记得使用removeEventListener移除事件监听。
9.对于色彩丰富的UIComponent或者包含位图数据的对象使用cachAsBitmap。这样Flash Player就能重复的使用创建的位图来显示,直到需要重绘。注意,想要改变缓存的位图非常困难,并且在缩放时可能会失真。
10.运行期调用setStyle代价很大,所以要减少类似的操作。但是在DisplayObject对象添加到显示列表之前调用setStyle的开支会小一些。