6

私は小さなアニメーション クラスを持つアプリを持っています。アニメーション クラスは (jQuery を使用して) キャンバスを作成し、createjs.Stageこのキャンバスを使用する要素を作成します。次に、このステージ要素を使用して、いくつかのアニメーションを短時間実行します。

アニメーションが完成したら、新しいアニメーションで同じことができるように、すべてをクリーンアップしたいと考えています。

Stage クラスを使用する場合、たとえば などのリスナーを追加する必要がcreatejs.Ticker.addEventListener(stage)あり、DOMEventlistener を追加することもできます。

ステージとキャンバスを安全に削除する方法を見つけようとしましたが、これまでのところstage.canvas = null、ステージを null に設定する前にステージ キャンバスを null( ) に設定する必要があるという情報が見つかりました。

また、ステージクラスでメソッドを見つけました:

.removeAllEventListeners()

だからここに私の質問があります:

  1. キャンバスとステージがアニメーション クラスにのみ追加されている場合、次のようにするだけで十分ですか。

    var animation = new Animation();
    // do some stuff, call some methods on the animation object, and then:
    animation = null;
    

    キャンバスを取り除くには、または何かを使用してボディからキャンバスを手動で削除する必要があるjQuery.remove()と思います。

  2. 上記の方法が正しい方法ではない場合.removeAllEventListeners()、ステージをnullに設定する前にアニメーションが行われるときに呼び出すだけで十分ですか?


私は一般的に、すべてがガベージコレクションされていることを確認する方法がわからないので、アドバイスは大歓迎です!

4

0 に答える 0