什么时候JavaScript Blob对象被垃圾收集?

时间:2014-01-18 16:37:01

标签: javascript html5 garbage-collection blob

在现代浏览器中,可以将大对象分配为Blob,然后通过URL请求访问它。此URL将在浏览器的其他位置提供存储的对象(例如图像的数据)。

浏览器如何知道何时不再需要此URL,并且可以免费收集相应的Blob数据?

1 个答案:

答案 0 :(得分:8)

浏览器最终将清除此资源,但在从内存/磁盘中删除之前可能需要一段时间(数小时或数天)。

如果您希望明确删除该对象,可以通过revokeObjectURL进行删除。

var blob = new Blob([/*JPEG data*/], {type: "image/jpeg"}),
    url = (window.URL || window.webkitURL),
    objectUrl = url.createObjectURL(blob);

// use the object URL, eg:
var img = new Image();

img.onload = function()
{
    // release the object URL once the image has loaded
    url.revokeObjectURL(objectURL);
};

// trigger the image to load
image.src = objectURL;
相关问题