Chrome不会从<video> </video>释放内存

时间:2011-04-27 16:37:13

标签: javascript google-chrome memory-leaks html5-video

我有一个加载大量视频的页面。它只需要在Chrome中运行。

每次创建视频时,我都会移除并重新创建视频代码,以解决问题地址here

然而,每次播放视频时,Chrome使用的内存都会不断上升,永远不会被释放(即使是相同的视频)。

如何让Chrome发布此内存?

以下是关于我如何添加和删除视频的一些代码js / jQuery:

function playVideo(videoName) {
    $("#VideoShow").fadeIn(300).html("<video width=800 height=600><source src=\"" + videoName + "\"'></video>");
    var Vid = document.getElementsByTagName('video')[0];
    Vid.play();
    Vid.addEventListener('ended', function(e) {
        closeVideo();
    }, false);
}

function closeVideo() {
    var Vid = document.getElementsByTagName('video')[0];
    Vid.removeEventListener('ended', arguments.callee, false);
    $("#VideoShow").fadeOut(300).html("");
}

我猜这是Chrome中的一个错误,但我想确保在报告之前我没有做错任何事。

1 个答案:

答案 0 :(得分:1)

编辑 自2013年1月起Chrome更新,此内存泄漏已修复!

我已经为此创建了一个铬问题: http://code.google.com/p/chromium/issues/detail?id=166830

由于硬件加速,它不释放内存。

如果您在chrome:// flags /下切换“禁用加速视频解码”功能,则它根本不会执行此操作。看起来很快就会有一个铬开发者正在研究它