URL.createObjectURL导致内存泄漏

时间:2014-09-06 08:58:01

标签: javascript

我正在尝试使用URL.createObjectURL显示图片。但是,它需要大量的内存,大约是图像大小的10倍。 这是我的代码:

var image = new Image();
image.src = URL.createObjectURL(blob);
image.className = 'images';
image.onload = function(){
    URL.revokeObjectURL(this.src);
};
$('.images').appendTo('body');

这是一个浏览器错误吗?或者我的代码出了什么问题?

1 个答案:

答案 0 :(得分:5)

实际上,当您释放以前通过调用URL.revokeObjectURL()创建的现有对象URL以获得最佳性能和内存使用时,如果有明确卸载它们的安全时间,则会调用window.URL.createObjectURL()

但是您无法通过创建对象来节省内存,请阅读此answer和此helper link