我使用JavaScript / createjs创建了一个应用程序,在当前页面上以模式启动。然而,当我退出应用程序时,仍然存在一些遗留的createjs - 如果我不断启动/关闭应用程序,我可以超过AudioContext限制 - 建议有6个(在我正在使用的浏览器中)实例createjs挥之不去。
我必须指出刷新页面确实有效,但不会是一个选项,也不会使用iframe。
该文件是独立的,其中包含所有createjs库。我的问题是,有没有办法彻底销毁createjs?我已经尝试过createjs = null,它在一定程度上起作用,但是听众仍然存在。
答案 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()
停止所有声音。