我的小项目有问题。每次音乐播放器将新歌曲加载到播放列表中或您按下列表中的歌曲以播放时,它都会占用大量内存,并且在您关闭它之前一直保持高位。我认为每次我使用文件读取器 API 时都会使用内存,但我也在使用jDataView.js
脚本加载 ID3 信息,我也认为这会占用大量内存。
你们有什么建议,用 加载,存储和播放歌曲FileReader
,而不占用内存?我试图查看是否可以在使用后清除 fileReader,但我找不到任何东西。我只在 Chrome 中测试过。
更新:我已经测试了我的项目,并发现它在尝试加载数据字符串时会占用内存。
reader.onloadend = function(evt) {
if(typeof(e) != "undefined"){
e.pause();
}
e = new Audio();
e.src = evt.target.result; // evt.target.result call takes the memory
e.setAttribute("type", songs[index]["file"].type);
e.play();
e.addEventListener("ended", function() { LoadAudioFile(index + 1) }, false);
};
还有另一种方法可以将数据加载到音频元素中吗?