Страница, которая тяжелеет
К вечеру вкладка съедает гигабайт и начинает подтормаживать
Учебное расследование по курсу JavaScript: 7 шагов, сложность 3 из 3.
Материалы дела
Внутренняя панель мониторинга открыта у диспетчеров весь день. Утром страница лёгкая, к обеду начинает подтормаживать, к вечеру вкладка занимает больше гигабайта и прокрутка идёт рывками. Перезагрузил — снова хорошо до обеда.
Первая версия: «утечка памяти в браузере». Вторая: «слишком много данных».
У вас код обновления панели, замеры и памятка. Найдите, что накапливается.
Что будете применять
- снимать обработчики
- останавливать таймеры
- что держит ссылку
- перерисовка и уборка
Как проходит расследование
Читайте материалы дела, проверяйте предположения и решайте задания шаг за шагом. Решения проверяются на платформе; к следующему шагу ведёт найденная вами улика.
Для этого дела нужен бесплатный аккаунт: в нём сохраняются шаги и результат.
Практика и материалы по теме курса
- Тренажёр: повторить темы курса
- Расследование: Заказ на NaN рублей
- Расследование: Правка, которая размножилась
- Расследование: Заявка без телефона
- Расследование: Кнопка, которая всегда последняя
- Расследование: Отчёт приходит не тот
- Расследование: Ошибка, которую съели
- Расследование: Метод, потерявший себя
- Курс JavaScript переписан: восемнадцать уроков и код, который выполняется прямо в уроке
- Курс «JavaScript с нуля»: язык, на котором живут страницы