2009-11-12 58 views
1

我在弹出窗口中有一个videoDisplay对象。 当我删除弹出窗口时,视频继续播放。 如何从内存中删除videoDisplay对象? 我曾尝试将该变量设置为null,但没有运气。我可以调用stop()函数并忘记它,但是想知道这是否会回来并咬我。在flex/flash中删除VideoDisplay

任何帮助非常感谢。

回答

2

停下来就够了。删除附加到它的任何事件侦听器,以确保它是垃圾收集。如果控件是从Flash Media Server流式传输的,请在调用stop()后调用close()方法。 close方法强制关闭输入流并连接到Flash Media Server。

+0

感谢您的帮助。我认为通过将var设置为null将足以确保它被垃圾收集? – Chin 2009-11-12 10:07:03

+0

不,您必须删除事件侦听器。每个事件侦听器都会创建对该对象的引用 - 除非使用'useWeakReference'(第五个参数)调用addEventListener = true – Amarghosh 2009-11-12 10:11:12

+0

http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/flash/events/EventDispatcher.html#使用addEventListener() – Amarghosh 2009-11-12 10:11:46