Выбор ответа Middle Память и сборка мусора обновлено
Как найти утечку в DevTools
Вопрос
Подозреваете, что открытие и закрытие модального окна течёт. Как это проверить в Chrome DevTools?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: Снять снимок кучи, несколько раз открыть и закрыть окно, снять второй и сравнить. Утечка это то, что накапливается после повторяющегося действия.
Варианты ответа
- Посмотреть вкладку Network: утечки видны как повторные запросы при открытии окна
- Сделать один снимок кучи после закрытия окна и найти в нём самый большой объект
- Снять снимок кучи, несколько раз открыть и закрыть окно, снять второй и сравнитьправильный ответ
- Включить троттлинг CPU в Performance и проверить, стало ли окно открываться медленнее
Разбор
Утечка это то, что накапливается после повторяющегося действия. Сравнение двух снимков до и после серии повторов показывает, каких объектов стало больше: например, отсоединённых DOM-узлов (фильтр Detached) или экземпляров компонента. Затем панель Retainers у выживших объектов показывает цепочку ссылок, которая удерживает объект, и по ней находят виновника: слушатель, таймер, кеш. Один снимок не даёт динамики, сеть и троттлинг CPU про другое.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.