有谁知道是否可以将垃圾收集应用于AS3中的新StageVideo组件?我试过没有成功!代码如下:
if ( this._stageVideo == null )
{
this._stageVideo = stage.stageVideos[0];
this._stageVideo.addEventListener(StageVideoEvent.RENDER_STATE, stageVideoStateChange);
}
尝试GC:
this._stageVideo = null;
this._stageVideo.removeEventListener(StageVideoEvent.RENDER_STATE, stageVideoStateChange);
答案 0 :(得分:1)
this._stageVideo = null;
this._stageVideo.removeEventListener(StageVideoEvent.RENDER_STATE, stageVideoStateChange)
我很惊讶它有效,它应该抛出异常,你应该首先删除事件监听器,然后取消它的引用。
垃圾收集器不会在每次取消某些内容时启动,但如果您可以使用Flash Builder分析器,则可以尝试强制GC,如果要对其进行测试,则可以将项目打包为AIR,并手动调用GC。
如果您无法启动LocalConnection两次,将会调用GC的错误/功能(http://www.nbilyk.com/flash-garbage-collection):
try {
new LocalConnection().connect('foo');
new LocalConnection().connect('foo');
} catch (e:Error) {}