小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

AS3代碼優(yōu)化

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

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

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ù)雜的計(jì)算,建議自己寫方法,比如:
var num:int=3>2?3:2;比var num:int=Math.max(3,2);效率高

3. .不會(huì)改變的屬性,使用const 來(lái)定義常量:
public const STR: String = “name”;

4. .不會(huì)再被繼承的類,要使用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. .聲明變量的時(shí)候要聲名類型:
var str:String="abc"而不要var str="abc"
函數(shù)也一樣要聲明返回值類型
function doSomthing():void{}而不是function doSomthing(){}

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

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

9. 應(yīng)該在循環(huán)外定義表達(dá)式的值,而不是在循環(huán)體內(nèi),如果在循環(huán)體內(nèi),就會(huì)每循環(huán)一次計(jì)算一次,比如:
應(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ù)名的長(zhǎng)度不影響速度。

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

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

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

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多