Немного об утечках памяти во vuejs приложениях.

JavaScript глобальные объекты (window, document и т.п.) — это корни для сборщика мусора (GC roots). Сборщик не удаляет их и не «очищает» сами глобальные объекты: они живут, пока открыта вкладка. Сборщик помечает всё, что достижимо от корней (глобалы, текущий стек

Примеры: 1) document.addEventListener без removeEventListener — document держит обработчик → замыкание держит data. 2) setInterval без clearInterval в onUnmounted — таймер держит замыкание → data не освобождается. 3) window.addEventListener без removeEventListener — window держит обработчик → замыкание держит data. 4) Объект с замыканием (fn) попадает в window.leak — глобал держит объект → fn держит data.

#vue #vuejs #frontend #memoryleak

Примеры потыкать: https://github.com/gost1k/example_memoryleak

Tg: https://t.me/taranweb

Немного об утечках памяти во vuejs приложениях. | Сетка — социальная сеть от hh.ru Немного об утечках памяти во vuejs приложениях. | Сетка — социальная сеть от hh.ru