3
我有這樣的代碼:使用Javascript - 保存到磁盤文件是停留在Chrome的內存
function saveFile(str, part) {
var textFileAsBlob = new Blob([str], {type:"text/plain"});
var fileNameToSaveAs = "Parsed audio - part "+part;
var downloadLink = document.createElement("a");
downloadLink.download = fileNameToSaveAs;
downloadLink.innerHTML = "Download File";
if (window.URL != null)
{
// Chrome allows the link to be clicked
// without actually adding it to the DOM.
downloadLink.href = window.URL.createObjectURL(textFileAsBlob);
}
downloadLink.click();
}
它的工作好,但這一問題在Chrome:團塊的「足跡」或任何保存在Chrome的主要過程'記憶。當打開下載窗口時,整個blob(在我的情況下爲250MB!)被複制到主進程的內存中。這有點不好,因爲如果我保存多個文件,我最終會填充內存高達750MB,並在此時停止下載帶有「未找到」錯誤的文件。圖片:http://i.stack.imgur.com/j5PUn.jpg
我在做一些愚蠢的錯誤還是這個Chrome的錯?我可以清理Chrome的內存以擺脫此問題嗎?
你不釋放點擊後_blob URL_,這意味着GC無法擺脫_blob_的 –
^謝謝,它的工作原理道具現在好了。 – Amareth