加入收藏 | 设为首页 | 会员中心 | 我要投稿 | RSS
您当前的位置:首页 > 教程文章 > Flash教程
photoshop教程 | PowerPoint教程 | Fireworks教程 | Flash教程 | Dreamweaver教程 | QQ空间教程 | 论坛音画教程 |

关于Flex应用程序的性能优化

时间:2015-01-29 09:32:48  来源:  作者:

众所周知,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方法来清除闲置的事件侦听者。



来顶一下
返回首页
返回首页
赞助商链接广告
推荐下载
  • Flash CS4实例教程:漂亮的气泡动画
  • Flash实现精彩的画图动画效果
  • Flash8制作精彩高级动态网页图片菜单
  • 利用Flash AS打造梦幻彩色泡泡动画
  • 怎么在ASP.NET 2.0中使用Membership
  • c#2.0中动态修改页面标题
  • 赞助商链接广告
    最后更新
  • flash如何制作图片的缩放、放大效果
  • Flash制作卷轴展开的动画教程
  • 常见爆炸效果制作_Flash教程
  • Flash动画中人物走路动作的规律技巧
  • 用Flash制作一个跳动的黄色笑脸小球
  • flash8一个很重要的细节,让图片在中清晰播放
  • 详细制作进度条全过程
  • 为何返回值因何不准,解析BitmapData.getPixel32
  • 用AS2.0 打造蜜蜂飞舞的效果
  • 关于Flex应用程序的性能优化
  • 赞助商链接广告
    赞助商链接广告