- До → после
- 846 → 1451
- Прирост
- +605
- За повтор
- +121
Поиск утечек памяти
Milten повторяет переходы по сайту и ищет объекты, которые остаются в памяти после возврата на исходную страницу. Отчёт показывает, что накапливается и насколько растёт расход памяти.
Как выглядит накопление памяти
Условный пример переходов и возвратов. Значения объясняют устройство отчёта и не являются результатом проверки вашего сайта.
Смена маршрута
/catalog → /product → /catalog × 5
Переход завершился, но объекты состояния предыдущей страницы остались в памяти. В таблице их становится больше с каждым повтором. Нужно выяснить, какие ссылки удерживают эти объекты.
- До → после
- 34 → 74
- Прирост
- +40
- За повтор
- +8
- До → после
- 41.2 → 54.7 MB
- Прирост
- +13.5 MB
- За повтор
- +2.7 MB
Условные данные для знакомства с отчётом. Результат вашей страницы появится после проверки.
Как сканер ищет утечки
Выбираем ссылки на странице
Сканер находит до трёх видимых внутренних ссылок. Для каждой он повторяет переход и возврат на исходную страницу пять раз.
Сравниваем расход памяти
После прогревочного прохода измеряем, сколько памяти остаётся занято после повторных переходов. Так можно заметить накопление, которое не видно при первой загрузке.
Показываем, что накапливается
В отчёт попадают растущие коллекции, обработчики событий, DOM-узлы и типы объектов. Для коллекций также показываем места изменений в коде, если удалось их определить.
Какие данные вы получите
Где искали утечку
Адрес страницы, проверенный переход и число повторов. По ним разработчик сможет повторить проверку у себя.
Насколько выросла память
Сравнивайте общий прирост и прирост за итерацию для одного перехода. Накопление — повод исследовать удерживаемые объекты; намеренный кеш и состояние приложения тоже могут занимать память.
Массивы, Map, Set и Object
Размер растущих коллекций до и после проверки. Если доступен стек вызовов, он укажет, где в коде добавлялись данные.
Обработчики событий
Сколько обработчиков добавилось и к каким узлам они привязаны. Стоит проверить, снимает ли приложение подписки при уходе со страницы.
DOM-узлы
Количество и описания узлов, которые накапливаются при переходах. По описаниям можно найти элементы, оставшиеся в памяти после удаления из интерфейса.
Объекты в памяти JavaScript
Каких объектов стало больше, сколько места они занимают сами и сколько удерживают через ссылки. Если замеры доступны, отчёт также показывает память V8 и браузера.
Вопросы о проверке
Что означают находки, какие страницы можно проверить и с чего начать исправление.
Любой рост памяти — это утечка?
Что такое отсоединённые DOM-узлы?
Можно ли найти утечки обработчиков событий?
Какие страницы и действия проверяет сканер?
Что делать с найденной утечкой?
Что проверить рядом с этим сервисом
Проверка JavaScript
Проверьте файлы JavaScript, ошибки загрузки и код, неиспользованный при загрузке. Найдите скрипты, которые стоит изучить подробнее.
ОткрытьСкорость загрузки
Проверьте загрузку страницы с выбранными настройками устройства и сети. Получите показатели скорости, список проблем и рекомендации.
ОткрытьКеш переходов назад и вперёд
Проверьте, использует ли браузер кеш при переходах назад и вперёд. Узнайте, что мешает кешированию.
ОткрытьОтзывчивость страницы (INP)
Измерьте, как быстро страница отвечает на автоматические действия. Найдите задержки в тестовом запуске.
Открыть