• Jobs
  • About Us
  • professionals
    • Home
    • Jobs
    • Courses and challenges
  • business
    • Home
    • Post vacancy
    • Our process
    • Pricing
    • Assessments
    • Payroll
    • Blog
    • Sales
    • Salary Calculator

0

211
Views
Blobs created in JS not released after URL.revokeObjectURL

I have this simple JS function used to load (and show) images from byte arrays

function setElementSrc(element, mimeType, buffer) {
    var blob = new Blob([buffer], { type: mimeType });
    var objectUrl = URL.createObjectURL(blob);
    element.src = objectUrl;
    element.onload = function () {
        URL.revokeObjectURL(objectUrl);
    };
}

Since the object url gets revoked in onload I would expect there to be no more references to the blob. Yet, when I look into chrome debugger or chrome://blob-internals/ they remain there forever, having one reference. Even when the img itself is gone.

The URL.revokeObjectURL(objectUrl) does work, since after its call the object url is not reachable anymore.

Do I understand something wrong? What am I missing? Is there a way to see what is still referencing the blob?

almost 3 years ago · Santiago Gelvez
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Our process Sales
Legal
Terms and conditions Privacy policy
© 2025 PeakU Inc. All Rights Reserved.

Andres GPT

Recommend me some offers
I have an error