日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

AS3代碼優(yōu)化

 宜賓翠屏區(qū) 2019-02-25

以下是經(jīng)過測試過的

1. 數(shù)組Array:
聲明數(shù)組:使用var arr = []; 而不是var arr = new Array();
復(fù)制數(shù)組:最快arr1 = arr2;其次arr1=arr2.slice();再次arr1=arr2.concat();
數(shù)組賦值:arr[0]=0;比arr.push(0);效率高

2. Math類,發(fā)現(xiàn)Math類的一些方法在效率上較低,如果不是很復(fù)雜的計算,建議自己寫方法,比如:
var num:int=3>2?3:2;比var num:int=Math.max(3,2);效率高

3. .不會改變的屬性,使用const 來定義常量:
public const STR: String = “name”;

4. .不會再被繼承的類,要使用final前綴:
public final class MyClass

5. 類型轉(zhuǎn)換,使用as而不要用類名轉(zhuǎn)換:
比如var s:Sprite=new Sprite();
應(yīng)該是var mc:MovieClip=s as MvoieClip;
而不是var mc:MovieClip=MvoieClip(s);

6. .聲明變量的時候要聲名類型:
var str:String="abc"而不要var str="abc"
函數(shù)也一樣要聲明返回值類型
function doSomthing():void{}而不是function doSomthing(){}

7. 數(shù)值計算:
如果是整數(shù)加減法運算應(yīng)該使用int,乘除法使用Number
特別是應(yīng)該用int做迭代,而不是Number
(var i: int = 0; i < n; i++) 不要使用 for (var i: Number = 0; i < n; i++) 
uint在各方面計算效率都比int,Number要低

8. 用乘法來代替除法:
使用5000*0.01 不應(yīng)該使用: 5000/100

9. 應(yīng)該在循環(huán)外定義表達(dá)式的值,而不是在循環(huán)體內(nèi),如果在循環(huán)體內(nèi),就會每循環(huán)一次計算一次,比如:
應(yīng)該是:
var arr:Array=[1,2,3,4,5];
var num:int=arr.lenght;
for(var i:int=0;i<num;i++){}
而不是:
var arr:Array=[1,2,3,4,5];
for(var i:int=0;i<arr.length;i++){}

10. 變量名和函數(shù)名的長度不影響速度。

11. 對象屬性訪問
var obj:Object={key:"value"}
obj.key要比obj["key"]快數(shù)倍,如果在flash中舞臺上繪制出的影片剪輯,內(nèi)部的又有子影片剪輯getChildAt的訪問速度是最快的.
動態(tài)類訪問已聲明的屬性比未聲明的屬性快3-4倍,而訪問未聲明但賦值的過屬性比沒賦值快一倍.
普通屬性比get方法要快5-6倍,get方法比普通方法訪問速度將近快一倍.

22. 邏輯計算-比較
1) ByteArray最快,如果時間為16單位
2) int,uint其次,20單位
3) Number,40單位
4) String,150單位
5) Object,450單位

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多