当我使用OSMF开发可以动态加载/卸载它的播放器模块(独立SWF文件)时,我发现我无法完全回收它。
我检查了OSMF的变量,比如MediaPlayerSprite,MediaElement,MediaContainer等已经被回收,这意味着这些类创建的实例数是零。但是有一些"静态const"那可以被回收。
例如:
public static const ALL_TYPES:Vector.<String> = Vector.<String>
。
private static const MEDIA_TYPES_SUPPORTED:Vector.<String> = Vector.<String>([MediaType.VIDEO]);
private static const MIME_TYPES_SUPPORTED:Vector.<String> = Vector.<String>
在类NetLoader中。
因此,每次我加载一个新的播放器模块时,这些实例都不能被回收但会增加。
我知道我可以保留播放器模块,但不能每次都加载/卸载。但我真的想知道是否有办法解决这个问题。
答案 0 :(得分:1)
如果const
所有msg
都位于已加载的swf中,则loader.unloadAndStop()
呼叫后,将使用该swf删除它们
我在寻找可能有用的参考资料时也找到了this question about the issue with sounds in the unloaded swf