liberar - ¿Cuándo se recolectan los objetos de Blob de JavaScript?
liberar memoria javascript (1)
El navegador finalmente borrará este recurso, sin embargo, puede tardar un tiempo (horas o días) antes de que se elimine de la memoria / disco.
Si desea eliminar explícitamente el objeto, puede hacerlo a través de 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;
En los navegadores modernos, es posible asignar un objeto grande como Blob
y luego solicitar acceso a él a través de una URL. Esta URL servirá el objeto almacenado (como los datos de una imagen) en otro lugar del navegador.
¿Cómo sabe el navegador cuando esta URL ya no se necesita y los datos de Blob
correspondientes se pueden recolectar de forma gratuita?