技术中心

这里象征着我们的态度和能力

Flex应用程序的性能优化
发布者:kevinLee    信息来源:Flex爱好者专栏    发布时间:2010-09-08      浏览次数:7358
分享到:

新浪微博

腾讯微博

QQ空间

豆瓣网

QQ好友

    众所周知,flex应用程序存或多或少地存在性能方面的问题。特别是企业级大数量的应用程序,通常的解决办法是分模块加载,分时加载数据等措施来解决。下面我们来谈一谈代码级别的优化:

    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<l; i++) 
    应采用第二种写法,将arr的length属性值存放到一个变量中去。

    8.回调事件要比单独派发的事件要快,更比冒泡的事件快。

    9.尽量减少使用try...catch来抛出异常信息。如:

try {isNull.x = 3;} catch(e:*) {}   
if(isNull) {isNull.x = 3;} 
    多采用第二种方法,来减少异常。

    10.使用removeEventListener方法来清除闲置的事件侦听者。

4000-880-989
(24小时热线)
联系客服
微信公众号

官方公众号

小程序

©2008-2022 CORPORATION ALL Rights Reserved. 昆明奥远科技有限公司版权所有 滇ICP备09003328号-1 滇公网安备 53011102000818号
昆明那家网络公司好,新媒体运营,网站优化,网络推广,网站建设,网页设计,网站设计,网站推广,云南网站公司,昆明新媒体公司,云南网红主播,昆明SEO公司,昆明网站建设,昆明网络推广,昆明网站优化,昆明网站推广,红河网站建设,大理网络公司,曲靖网络公司,丽江网站设计,昭通网络公司,保山大数据服务,智慧高速建设,智慧校园服务,云南IDC服务商,网络安全测评,等保测评,网站关键词排名优化服务,服务客户尽超2000余家,一切尽在奥远科技,服务电话:13888956730