2016-12-03 11 views
1

ActionScript用に書き出されたムービークリップをクラスとして作成し、そこからループ内で多数のインスタンスを作成してステージに追加しています。
モバイルでアプリをテストすると、ループが開始されてからすべてが正常に機能してから1秒間フリーズします。
次は、それがどのように見えるかの例です:だから
ループフリーズアプリケーションでインスタンスを作成する

for(var i:int = 0; i < 20; i++) 
{ 
    var mc:MC = new MC(); 
    mc.textField.text = "mc"+i; 
    mc.y = i * mc.height; 
    addChild(mc); 
} 

凍結することなく、それを行うには良い方法がある場合は、私が求めていますか?
ありがとうございます。パフォーマンスを向上させる

答えて

3

一つの方法は、時間をかけて、すでに生成されたオブジェクトを再利用するobject pool patternを利用するために、次のようになります。

それは 初期化オブジェクトのセットを使用するソフトウェア生成に関するデザインパターンですオンデマンドでそれらを割り当てて破棄するのではなく、 "プール"を使用する準備ができました。プールのクライアントは オブジェクトをプールから要求し、返された オブジェクトに対して操作を実行します。クライアントが終了すると、オブジェクトを破棄するのではなく プールに返します。手動で行うことも、 することもできます。

詳しい情報や「オブジェクトプールパターン」Adobe's website :)

+1

おかげで提供されています上のワーキングサンプルコードそのほとんど私は、 –

+1

非常に便利な参照を探していたものを 'パフォーマンスの最適化'articles、tnx –

関連する問題