如果我按顺序设置一系列YouTube视频,使用Popcorn JS的HTMLYouTubeVideoElement并更改media.src,则页面的内存使用量非常大。一个例子就是这个fiddle。
var youtubeIds = ["qe3ZZMfzBnM", "WiGVSqRE7V0", "VBi7M5aFv5g", "0pfxsxe1M-I", "-zcLRW53h-w"];
var index = 0;
var playerPrefix = "http://www.youtube.com/embed/";
var media;
var player;
function nextVideo() {
index++;
if (index==youtubeIds.length) index=0;
console.log("nextVideo", index);
player.media.src = playerPrefix + youtubeIds[index];
player.play();
}
media = Popcorn.HTMLYouTubeVideoElement("#video");
console.log(media);
player = Popcorn(media);
media.src = playerPrefix + youtubeIds[index];
player.cue(5, nextVideo);
player.play();
打开此功能是谷歌浏览器并查看任务管理器,页面的内存使用量会迅速增加。仅约10个视频后,内存可达1GB。我知道视频是大型对象,Chrome为我的利益做了大量的缓存/缓冲,但这似乎过分了。
我是否应该以某种方式影响内存管理,例如摧毁并重建玩家,还是我无法控制?这无关紧要,因为Chrome会使用它可用的内存并在需要时将其清除吗?