6

我有一个带有一点动画类的应用程序。动画类创建一个画布(使用jQuery),创建一个createjs.Stage使用这个画布的元素,然后这个舞台元素用来做一些短时间的动画。

动画完成后,我想清理所有内容,以便新动画可以做同样的事情。

使用 Stage 类时,有必要添加一些侦听器,例如createjs.Ticker.addEventListener(stage),您可能想要添加 DOMEventlistener。

我试图弄清楚如何安全地移除舞台和画布,到目前为止,我发现一些信息说有必要在将舞台设置为 nullstage.canvas = 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()在将舞台设置为空之前完成动画时调用就足够了吗?


我通常不确定如何确保所有东西都被垃圾收集,所以欢迎任何建议!

4

0 回答 0