我有一个AS2 swf,可以将FLV视频加载到FLVPlayback组件中并附加一个seekBar组件。当视频停止时,我从屏幕上卸载搜索栏并设置FLVPlayback.seekBar = null。当要播放另一个视频时,我通过将seekBar组件附加到舞台并分配FLVPlayback.seekBar = newSeekBarInstance来再次设置搜索栏。
这是我的代码 -
(my_video = FLVPlayback组件)
var theSeekBar = _root.attachMovie("SeekBar", "vidSeekBar", this.getNextHighestDepth());
_root.my_video.seekBar = theSeekBar;
视频停止时 -
_root.my_video.seekBar = null;
_root.vidSeekBar.handle_mc.unloadMovie();
_root.vidSeekBar.unloadMovie();
_root.vidSeekBar.removeMovieClip();
我注意到的是,有时搜索栏会从屏幕上删除,有时它不是吗?我似乎无法注意到这里有任何模式。有人有过类似的问题吗?我需要强制垃圾收集吗?
答案 0 :(得分:0)
unloadMovie()
仅适用于已加载loadMovie()
的剪辑。它不会对其他阶段实例产生任何影响。
因此,如果您使用attachMovie()
,removeMovieClip()
在舞台上创建了实例,并且将seekBar变量设置为null应该足以让它被垃圾收集,除非您有更多的引用(也许某些事件听众?)在其他地方。
我同意@duncmc:您应该考虑隐藏搜索栏而不是一遍又一遍地创建和删除它。