最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

編寫高效率的AS3代碼的小技巧

 更新時(shí)間:2009年02月27日 20:50:45   作者:  
最近我研究了一些AS3代碼優(yōu)化的文章,一般都是集中在研究loops 和 Number types上的,本文不在重復(fù)類似的測(cè)試
下面是我的一些測(cè)試結(jié)果

Array & Object constructing

構(gòu)造數(shù)組和對(duì)象的時(shí)候,new Array() and new Object()要比 [] and {}慢3倍的時(shí)間

Index Number type for Arrays

數(shù)組的數(shù)字索引類型

ist[int(0)] 比list[0]要快

Create Array vs. Updating Array

再循環(huán)語(yǔ)句中避免多次創(chuàng)建數(shù)組,最好創(chuàng)建一次用多次更新內(nèi)容替換
Nulling Array vs. Splicing Array

對(duì)于龐大的數(shù)組而言就行splice操作是比較耗成本的,要盡量避免

When working with large Arrays splicing is obviously an expensive operation, you can avoid this by nulling the index and skipping it in a null scenario. If you need to splice in order to keep the Array length low. Then store these nulled indexes in another trash Array once the garbage count has reached a limit you've defined loop through the numerically sorted trash indexes deleting splices in bulk. This concept is demonstrated in Tweensy.

 

Nulling Object vs. Delete Object

delete一個(gè)對(duì)象的屬性要比把該屬性設(shè)置為null 更昂貴,所以對(duì)于對(duì)象的屬性最好設(shè)置為null

Nesting Loops(嵌套循環(huán))

多次嵌套循環(huán)效率差,所以最好保證循環(huán)在2層以內(nèi)

 

Inline code vs. function references

如果在時(shí)間幀上的函數(shù)很長(zhǎng)而且執(zhí)行時(shí)間長(zhǎng),最好,把該函數(shù)分成多個(gè)小的函數(shù)執(zhí)行。

 

這樣可以縮短執(zhí)行時(shí)間提高效率

Arguments vs. variable referencing

盡量最小化函數(shù)的參數(shù)個(gè)數(shù)

 

 

Function apply scoping do it or not?

Scoping function.apply is a little bit slower than not so if you don't have to then don't.

 

 

Array push vs. Array index

用設(shè)置index的方式來(lái)代替使用數(shù)組函數(shù)push

比如

list[list.length] = data; 要比直接用push快600%;

 

Array emptying - length 0 vs. A new Array

如果你需要設(shè)置一個(gè)空數(shù)組,有一個(gè)方便的辦法去選擇,就是通過(guò)設(shè)置它的length屬性為0

或者你會(huì)認(rèn)為這么做是不錯(cuò)的選擇,原因是它能節(jié)省內(nèi)存,但是事實(shí)上這樣做的執(zhí)行速度不如直接new array的效率高

當(dāng)然,如果你需要在一次循環(huán)中清除多于510個(gè)數(shù)組為空時(shí),用length設(shè)置為0的時(shí)候會(huì)更好

 

Var declarations on multiple lines vs. Var declarations on a single line

 

將變量聲明在一行中,要比聲明多行更好,效率更高

i.e.
var a:int=0, b:int=0, c:int=0;
vs.
var a:int=0;
var b:int=0;
var c:int=0;

 

Using Xor to swap variables

如果你想去交換變量,但是又不想創(chuàng)建新的變量的時(shí)候,可以用xor

如:

 a = a^b;
b = a^b;
a = a^b;

 

Multiplication vs. Division

乘法的運(yùn)算速率總是比出發(fā)快,比如5000/1000 要比 5000*0.001快130%;

 

 

Type casting comparison 強(qiáng)制轉(zhuǎn)換類型對(duì)比

When type casting the keyword as is 250% more efficient than casting by Type(item); Though surprisingly not using either is about 1400% more efficient.

 

建議使用對(duì)應(yīng)的類型的變量進(jìn)行比較

同類型的比較效率高的多

 

 

Long vs Short variable names

盡量用短的變量名

相關(guān)文章

  • AS3打開(kāi)新窗口不被屏蔽的代碼

    AS3打開(kāi)新窗口不被屏蔽的代碼

    有時(shí)候flash打開(kāi)的網(wǎng)址會(huì)出現(xiàn)被屏蔽的現(xiàn)象,如何能輕松的打開(kāi)而不被屏蔽呢,下面是具體的代碼。
    2010-08-08
  • AS3自寫類整理筆記:ByteLoader類

    AS3自寫類整理筆記:ByteLoader類

    該類的主要功能是把swf,jpg,png,gif等文件以字節(jié)的形式加載進(jìn)來(lái) 以便于使用Loader.loadBytes方法,重復(fù)加載使用素材 如果圖片格式為jpg,并且是漸進(jìn)式格式j(luò)peg,那么該類還可以幫助你邊加載邊顯示
    2008-06-06
  • ActionScript 3.0中用XMLSocket與服務(wù)器通訊程序(源碼)

    ActionScript 3.0中用XMLSocket與服務(wù)器通訊程序(源碼)

    一個(gè)簡(jiǎn)單的基于XMLSocket的封裝類
    2009-02-02
  • flash PureMVC 使用例子

    flash PureMVC 使用例子

    昨天下了PureMVC, 看了一天文檔, 迷茫啊, 找例子也沒(méi)找到, 后來(lái)破解了一個(gè)看了一下, 大概地寫了一個(gè)簡(jiǎn)單的用例, 先算是學(xué)習(xí)筆記吧, 先把這最簡(jiǎn)單的例子做法寫一下吧( 也不知道這種理解是否正確哦~~汗一個(gè)!)
    2009-01-01
  • Actionscript 3.0 鼠標(biāo)事件

    Actionscript 3.0 鼠標(biāo)事件

    這本書是一本經(jīng)典的書籍,說(shuō)實(shí)話一些小的AS3的項(xiàng)目是做了好幾個(gè),基本的語(yǔ)法也都知道(其實(shí)有面向?qū)ο缶幊陶Z(yǔ)言的基礎(chǔ)后再入門一門新的語(yǔ)言還是很快的)。現(xiàn)在找到了這邊經(jīng)典書籍完整版,就好好看看,順便寫一些總結(jié)。
    2009-02-02
  • as3 rollOver or mouseOver使用說(shuō)明

    as3 rollOver or mouseOver使用說(shuō)明

    rollOver與mouseOver同樣在鼠標(biāo)移到目標(biāo)上時(shí)觸發(fā)事件,細(xì)微區(qū)別在于,mouseOver的bubbles等于true,而rollOver的bubbles是false.
    2009-10-10
  • AS3 navigateToURL導(dǎo)致ExternalInterface 執(zhí)行失敗問(wèn)題

    AS3 navigateToURL導(dǎo)致ExternalInterface 執(zhí)行失敗問(wèn)題

    AS3 navigateToURL導(dǎo)致ExternalInterface 執(zhí)行失敗問(wèn)題
    2009-02-02
  • 火山動(dòng)態(tài)文本滾動(dòng)條V5[AS3版]

    火山動(dòng)態(tài)文本滾動(dòng)條V5[AS3版]

    功能說(shuō)明:本版滾動(dòng)條除了繼續(xù)保持體積?。ㄐ∮?K),界面容易修改,資源占用率小的優(yōu)勢(shì)外,主要有以下幾點(diǎn)改進(jìn): 1,使用AS3編寫。 2,寬高動(dòng)態(tài)指定。 3,增加滾動(dòng)條背景點(diǎn)擊事件。 4,消除了鼠標(biāo)滾輪無(wú)法同時(shí)準(zhǔn)確控制多個(gè)文本框的重大BUG。
    2008-03-03
  • as3+xml+asp+access做的有獎(jiǎng)問(wèn)答

    as3+xml+asp+access做的有獎(jiǎng)問(wèn)答

    as3+xml+asp+access做的有獎(jiǎng)問(wèn)答實(shí)現(xiàn)代碼
    2009-02-02
  • As3.0 xml + Loader應(yīng)用代碼

    As3.0 xml + Loader應(yīng)用代碼

    簡(jiǎn)單說(shuō)說(shuō)AS3.0中對(duì)于XML支持的不同吧: .AS2.0對(duì)XML的支持勉勉強(qiáng)強(qiáng),將就著可以用。而AS3.0中對(duì)XML的支持是全方位的,極其強(qiáng)大和靈活的
    2008-03-03

最新評(píng)論

安化县| 鲁甸县| 唐海县| 兴仁县| 柳河县| 扶余县| 肥东县| 濮阳县| 江阴市| 崇阳县| 庐江县| 瓮安县| 建瓯市| 旬阳县| 横峰县| 视频| 孟津县| 镇平县| 泗阳县| 宽甸| 大姚县| 灌阳县| 吐鲁番市| 铜梁县| 桂林市| 浑源县| 高台县| 镇江市| 娄烦县| 乐业县| 西充县| 宜兰市| 沂水县| 玉溪市| 呼伦贝尔市| 宁海县| 黄大仙区| 宁城县| 永仁县| 日照市| 册亨县|