如何完全处理EaselJS画布?

时间:2018-05-22 12:09:35

标签: javascript html5-canvas createjs easeljs

我正在使用ReactJS应用程序,其中我使用EaselJS来处理多个画布,在同一页面上我必须根据不同的条件添加和删除不同的画布以呈现不同的视图。即使在使用以下代码移除画布以处理画布组件

之后也是如此
createjs.Touch.disable(this.stage);
this.stage.removeAllChildren();
this.stage.removeAllEventListeners();
this.stage.enableDOMEvents(false);

正在触发一些事件。使用应用程序一段时间后,它开始使用大量的处理和内存。在查看了chrome中的开发人员工具中的性能选项卡之后,我开始知道正在为每个添加的画布调用一个计时器事件。检查代码后我才知道

this.stage.enableMouseOver();

正在设置一个setInterval计时器,即使在调用上述所有代码后也没有删除它,我找不到任何方法将其删除。

任何人都可以帮我摆脱它。

提前致谢

1 个答案:

答案 0 :(得分:1)

记录enableMouseOver方法,以便在Stage中添加和删除功能。通过将0作为频率,应该清除间隔。

stage.enableMouseOver(0);

来自documentation

  

启用或禁用(通过传递频率为0)

  

frequency:可选参数,指定每秒广播鼠标过/关事件的最大次数。设置为0可完全禁用鼠标悬停事件。

我快速传递了代码,它肯定会删除间隔。