2

我在动态创建和丢弃视频播放器的界面中使用 video.js,但一次最多只显示 1 个播放器。理想情况下,我只想找到一种方法来干净地清理 swf 视频播放器,而不是重构一个重用一个播放器的解决方案。

我在 IE8 中看到内存泄漏(使用 Flash 播放器时)。在“丢弃”每个新播放器后,IE 使用的内存保持不变,在“创建”每个新播放器后,内存使用量会增加。Firefox 中的相同实现(使用 Flash 播放器)不会导致内存泄漏,因此问题很可能归因于 IE8。

在我删除播放器/视频之前,我设置player.src('')并调用player.destroy()它删除事件绑定和触发器等。

我也尝试过使用swfobject.removeSwf(),因为它会进行一些额外的拆解以避免 IE 中的内存泄漏(与将 swf 对象的每个函数属性设置为空有关)。

if(player.techName == 'flash'){
     player.src('');
     swfobject.removeSwf(playerID); // some attempt to leverage swfobject
     player.destroy();
     $(player.el).remove();
}

我能找到的最接近其他有同样问题的人是: http ://help.videojs.com/discussions/problems/861-how-to-destroy-a-video-js-object#comment_14896105 它已经消失了没有回答。

任何帮助或线索将不胜感激。谢谢!

4

0 回答 0