Выбор ответа Middle Память и сборка мусора обновлено

Как найти утечку в DevTools

Вопрос

Подозреваете, что открытие и закрытие модального окна течёт. Как это проверить в Chrome DevTools?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: Снять снимок кучи, несколько раз открыть и закрыть окно, снять второй и сравнить. Утечка это то, что накапливается после повторяющегося действия.

Варианты ответа

  1. Посмотреть вкладку Network: утечки видны как повторные запросы при открытии окна
  2. Сделать один снимок кучи после закрытия окна и найти в нём самый большой объект
  3. Снять снимок кучи, несколько раз открыть и закрыть окно, снять второй и сравнитьправильный ответ
  4. Включить троттлинг CPU в Performance и проверить, стало ли окно открываться медленнее

Разбор

Утечка это то, что накапливается после повторяющегося действия. Сравнение двух снимков до и после серии повторов показывает, каких объектов стало больше: например, отсоединённых DOM-узлов (фильтр Detached) или экземпляров компонента. Затем панель Retainers у выживших объектов показывает цепочку ссылок, которая удерживает объект, и по ней находят виновника: слушатель, таймер, кеш. Один снимок не даёт динамики, сеть и троттлинг CPU про другое.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.