flash代码写法对性能的影响
1 代码规范:单行比多行更有效率,单行函数无效。
例如 :
a.
var a:int=0;
for(var i:int=0;i<3000;i++)a=a+i;
与
b.
var a:int=0;
for(var i:int=0;i<3000;i++)
{
a=a+i;
}
效率比较后 前者a效率更高些
2 惰性实例化对象(根据具体类构造需求来选择)
最快 obj ||= new xxx
其次 obj || (obj = new xxx())
最慢 if(!obj) obj = new xxx(), return obj;
3 使用getter/setter 速度比直接获取慢很多,getter是函数级别多一次寻址 等等
类似推理 function嵌套 比 直接运行代码 也会慢很多
例如 a=b+c;
与 fun(){a=b+c;}
4 保留显示对象 移除其内部显示对象 while(this.numChildren){ removeChildAt(0);} 效率略好
5 Array 和 Vector
push与pop效率上分别为unshift与shift的30-40倍
arr[]比push方法效率高50%以上
已知索引赋值操作避免 进行多次push,例如 arr.push(1);arr.push(3);arr.push(4);
替换成:arr[0]=1;arr[1]=3;arr[2]=4;
splice理论效率会更慢些 需要进行修改后面的索引值。
6 渲染方面
最快 Bitmap.bitmapData=bitmapData
其次 BitmapData.copyPixels
最差 BitmapData.draw
本文固定链接: http://www.4yue.net/post-53.html
发表评论