AS3 Code Optimization一些代码优化的

1.首先是Array: 建议使用var a = []; 而不是var a = new Array(); 2.最快的数组复制方式: var copy : Array = sourceArray.concat(); 记得曾经有人做过测试,的确是concat速度最快。 3.数组的赋值速度不如从别的数组获得值: employees.push(employee); employees[2] = employee; 速度不如var employee : Employee = employees[2]; 4.使用const 来定义常量 public const APPLICATION_PUBLISHER : String = "Company, Inc."; 5.如果一个类不会再被继承,要使用final前缀: public final class StringUtils 6.变量和函数的长度在as3中并无限制: 比如:someCrazyLongMethodNameDoesntReallyImpactPerformanceTooMuch(); 当然这也长的离谱了,理论上来说尽量在2-4个单词吧,。说起来,Objective C里边的函数名都这样长…… 7.尽量不要使用一行式的声明: var i=0; j=10; k=200;虽然可以,但是不规范。 8.if和switch的内存占用量是一样的?这个。。。还是建议看需求吧,明显分支的就用switch吧。 9.尽量定义各种变量的类型。 10.尽量少用uint,根据AVM的机制,似乎在运行时会将uint和int转化为Number运行。不过这个怎么说呢,我觉得不应该牺牲代码易读性来优化代码的速度。 11.用int做迭代,而不是Number: (var i: int = 0; i < n; i++) NOT for (var i: Number = 0; i < n; i++) ; 12.用乘法来代替出发: instead of 5000/1000 use: 5000*0.001; 13.应该在循环外定义表达式的值,而不是在循环体内: 如:for (..){ a * 180 / Math.PI; } 应该声明declare: toRadians = a*180/Math.PI; outside of the loop 同样的: var len : int = myArray.lengh; for (var i=0;i 而不应该是for (var i=0;i< myArray.lengh;i++){...}

posted on 2012-07-24 21:11  AS3.0  阅读(180)  评论(0编辑  收藏  举报

导航