我有一个加载大量视频的页面。它只需要在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中的一个错误,但我想确保在报告之前我没有做错任何事。
答案 0 :(得分:1)
编辑 自2013年1月起Chrome更新,此内存泄漏已修复!
我已经为此创建了一个铬问题: http://code.google.com/p/chromium/issues/detail?id=166830
由于硬件加速,它不释放内存。
如果您在chrome:// flags /下切换“禁用加速视频解码”功能,则它根本不会执行此操作。看起来很快就会有一个铬开发者正在研究它