白鷺のハッシュコードが非常に速く成長している、なぜ一部の人々が疑問に思いますか?私たちは何を作成していますか?

この質問では、私は少し統計やった

でHashObjectに直接挿入、シンプルで原油を:

[AppleScriptの]  プレーンテキストビューは、  コードをコピー
?
01
02
03
04
05
06
07
08
09
10
HashObject.count = { } ;
function HashObject ( ) {
     this.$hashCode = egret.$hashCount + + ;
     if ( this.__proto__ ) {
         var name = this.__proto__.__class__;
         if ( name ) {
             HashObject.count[ name ] = ( HashObject.count[ name ] || 0 ) + 1 ;
         }
     }
}



出力統計:
VARのT1 = []; VARカウント= egret.HashObject.count;(LET KでCOUNT)t1.push {({クラス} [K]をCOUNT:Kは、COUNT);};のためt1.sort( (A、B)=> {戻りa.count - b.count;})
t1.forEach(Vは=> {にconsole.log(v.class、v.count)})

約90秒間実行し、ハッシュコードの合計  81705 。
クラストップ10にランク:
VM7412:584 1 ui.ColorLabel
VM7412:598 1 eui.Group
VM7412:837 1 eui.BasicLayout
VM7412:1110 1 egret.Texture
VM7412:1149 1 eui.Label
VM7412 :. 1 eui.State 1338
VM7412 :1 eui.Image 2614
VM7412:1 egret.Rectangle 12692
VM7412:1 egret.Matrix 23851
VM7412:1 egret.Point 34043

レンダリングするためのオブジェクトであるほとんどが感じ。

続いて、ソースコードを発見する3つのクラスがオブジェクトプールがあるんです。なぜそんなに量を作成しますか?

私たちはオブジェクトプールについての経験の一部を利用することができることを願っています。 

大きなオブジェクト、より複雑なロジック、オブジェクトプーリングの場合は、回復時間たくさんの悩みはどのように行うには?
小さなオブジェクトは、リリース上で実行するために、悪影響が発生しますどのようなプールは使用しないでください?

 

オリジナル住所ます。https://bbs.egret.com/thread-29226-1-1.html

おすすめ

転載: www.cnblogs.com/dbcpp/p/11295019.html