我的应用程序需要通知 UI 声音播放完成。为此,将侦听器附加到 SoundChannel 对象的 SOUND_COMPLETE 事件。
事件处理完成后,我应该删除我的 SOUND_COMPLETE 事件侦听器吗?
private function playbackCompleteHandler(event:Event):void {
// Notify UI that playback is done etc
channel.removeEventListener(Event.SOUND_COMPLETE, playbackCompleteHandler);
}
每个人都说我们应该始终删除事件监听器,以便 GC 可以正确收集对象(在本例中为“通道”对象)。但似乎 Adobe 在官方文档中没有这样做 [1][2]
[1] http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/media/SoundChannel.html [2] http://help.adobe.com/en_US/as3/dev/WS5b3ccc516d4fbf351e63e3d118a9b90204 -7d21.html