【悉知科技:Flex应用程序的性能优化的10点建议】众所周知,flex使用程序存或多或少地存在性能方面的疑问。特别是公司企业级大数量的使用程序,通常的处理办法是分模块加载,分时加载数值等方法举措来处理。下面我们来谈一谈代码级别的优化!
悉知科技:Flex应用程序的性能优化的10点建议1.尽也许降低程序的不必要运算。如下两种表达式:
var a:unit = b+(1024-200)/2;
var a:unit = b+412;
很明显下面的那个表达式运算更快。
2.尽也许地运用乘法运算来代替除法运算。如下两个表达式:
result = num / 4;
reuslt = num * 0.25;
经过统计工具计算,乘法比除法能节省150ms的时间。
3.尽也许运用强类别。例如:
var pt:Object = {x:x,y:y};
var pt:Point = new Point(x,y);
4.运用隐式类别转换。例如,
var pt:Point = points[i] as Point;
var pt:Point = points[i];
二个的表达式运用的隐式类别转换,这样能节约开销。
5.强制转换有时要比用as转换好用。如:
pt = points[(i*2) as unit];
pt = points[uint(i*2)];
6.设置要求表达式的优先级。如:
if(expensiveTest() usuallyFalse)
if(usuallyFalse expensiveTest())
在与运算时,应将在多数情景概况下为false的表达式放在前面(如 二个表达式的写法)。
7.for循环语句中的循环要求值应为一个固定值。如:
for (var i=0; i arr.length; i++)
for (var i=0; i i++)
应运用 二种写法,将arr的length属性值存放到一个变量中去。
8.回调事件要比单独派发的事件要快,更比冒泡的事件快。
9.尽量降低运用try...catch来抛出异常信息。如:
try {isNull.x = 3;} catch(e:*) {}
if(isNull) {isNull.x = 3;}
多运用 二种方式,来降低异常。
10.运用removeEventListener方式来清除闲置的事件侦听者。