createjs - 如何完全销毁所有痕迹

时间:2016-02-12 19:03:39

标签: javascript html5 modal-dialog createjs

我使用JavaScript / createjs创建了一个应用程序,在当前页面上以模式启动。然而,当我退出应用程序时,仍然存在一些遗留的createjs - 如果我不断启动/关闭应用程序,我可以超过AudioContext限制 - 建议有6个(在我正在使用的浏览器中)实例createjs挥之不去。

我必须指出刷新页面确实有效,但不会是一个选项,也不会使用iframe。

该文件是独立的,其中包含所有createjs库。我的问题是,有没有办法彻底销毁createjs?我已经尝试过createjs = null,它在一定程度上起作用,但是听众仍然存在。

2 个答案:

答案 0 :(得分:0)

如果您使用的是SoundJS,则可以使用提供的API(例如removeAllSounds)从内存中删除声音。这是一个例子:

createjs.Sound.removeAllSounds();

如果您发现这仍然存在与AudioContext限制相同的问题,我建议在GitHub上记录错误。尽管对加载的音频的引用被清除了,但它并没有消除对它使用的AudioContext的引用。

在清理createjs命名空间之前,您还可以尝试清除现有的上下文:

createjs.WebAudioPlugin.context = null;

干杯。

答案 1 :(得分:0)

您正在使用createjs以及您对所有CreateJS对象的所有引用进行归零。您也可以调用createjs.Ticker.reset()来禁用Ticker和Tween,myStage.enableDOMEvents(false)删除舞台添加的事件侦听器,createjs.Sound.stop()停止所有声音。