您是否需要断开所有音频节点以避免内存泄漏?

问题描述:

比方说,我有一个音频上下文与某个音频图形。如果我想创建一个完全不同的带有新节点的音频图,我必须在以前的音频图的每个节点上调用disconnect以避免内存泄漏,还是会自动收集垃圾?如果是,在什么条件下他们会得到GCed?您是否需要断开所有音频节点以避免内存泄漏?

一般而言,您不需要断开每个节点;您需要断开与任何ScriptProcessorNodes的任何连接,并确保您没有任何源节点不会停止播放(例如振荡器或循环缓冲区资源),这些节点仍然连接到输出。

一般来说,除ScriptProcessors之外,如果它没有发出噪音,并且在代码中放弃了对它的所有引用,它将会被GCed。