我有一个带有一点动画类的应用程序。动画类创建一个画布(使用jQuery),创建一个createjs.Stage
使用这个画布的元素,然后这个舞台元素用来做一些短时间的动画。
动画完成后,我想清理所有内容,以便新动画可以做同样的事情。
使用 Stage 类时,有必要添加一些侦听器,例如createjs.Ticker.addEventListener(stage)
,您可能想要添加 DOMEventlistener。
我试图弄清楚如何安全地移除舞台和画布,到目前为止,我发现一些信息说有必要在将舞台设置为 nullstage.canvas = null
之前将舞台画布设置为 null()
我还在舞台类上找到了一个方法:
.removeAllEventListeners()
所以这是我的问题:
如果只在动画类中添加画布和舞台,这样做是否足够:
var animation = new Animation(); // do some stuff, call some methods on the animation object, and then: animation = null;
我猜你将不得不手动从身体上移除画布,
jQuery.remove()
或者使用一些东西来摆脱画布。如果上述方法不是正确的方法,那么
.removeAllEventListeners()
在将舞台设置为空之前完成动画时调用就足够了吗?
我通常不确定如何确保所有东西都被垃圾收集,所以欢迎任何建议!