origami1024
@origami1024
went out for a night walk

Возможны ли при таком использовании new Image() утечки памяти?

Создаю Image не прицепляя к dom, присваиваю img.src и навешиваю listener. Делаю это, чтобы измерить width и height
let img = new Image()
img.src = '1.png'
img.onload = e => {
    console.log('loaded',img.naturalWidth)
    img.onload = null
    img.src = ''
}

После загрузки этот Image мне не нужен.
Вопрос, каждая такая картинка будет оставаться висеть в памяти, или гарбаж-коллекторы ее почикают? Можно ли ее как-то в ручную утилизировать сразу из памяти, чтобы наверняка?
  • Вопрос задан
  • 217 просмотров
Решения вопроса 2
В данном случае утечки не будет. Однако этот код далек от реального применения, если в реальном коде вы сохраните переменную img куда-то откуда она никогда не удаляется то утечка возможна.
Чтобы искать любые проблемы с памятью можно воспользоваться этой статьей: https://developers.google.com/web/tools/chrome-dev...
Ответ написан
Комментировать
@loonny
У гугла целая статья про то как фиксировать утечки памяти:
Fix Memory Problems
Это работает для любого кода.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы