如何回收(垃圾收集)"静态const对象"在Action Script 3.0中?

时间:2016-07-11 02:34:08

标签: actionscript-3 flash garbage-collection osmf

当我使用OSMF开发可以动态加载/卸载它的播放器模块(独立SWF文件)时,我发现我无法完全回收它。 我检查了OSMF的变量,比如MediaPlayerSprite,MediaElement,MediaContainer等已经被回收,这意味着这些类创建的实例数是零。但是有一些"静态const"那可以被回收。
例如:

public static const ALL_TYPES:Vector.<String> = Vector.<String>
MediaTraitType中的

private static const MEDIA_TYPES_SUPPORTED:Vector.<String> = Vector.<String>([MediaType.VIDEO]);
private static const MIME_TYPES_SUPPORTED:Vector.<String> = Vector.<String>
在类NetLoader中


因此,每次我加载一个新的播放器模块时,这些实例都不能被回收但会增加。 我知道我可以保留播放器模块,但不能每次都加载/卸载。但我真的想知道是否有办法解决这个问题。

1 个答案:

答案 0 :(得分:1)

如果const所有msg都位于已加载的swf中,则loader.unloadAndStop()呼叫后,将使用该swf删除它们 我在寻找可能有用的参考资料时也找到了this question about the issue with sounds in the unloaded swf