Карточка Middle Производительность обновлено

Источники рывков

Вопрос

Назовите основные причины рывков (jank) во Flutter-приложении.

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

Ответьте про себя или вслух, потом откройте ответ и сверьтесь.

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

Коротко

Лишние и тяжёлые build (setState высоко в дереве, отсутствие const), вычисления в UI-изоляте (парсинг JSON, сортировки), нелениво построенные списки, дорогие эффекты отрисовки (saveLayer, тени, клипы), большие несжатые изображения, синхронный ввод-вывод.

Ответ

Лишние и тяжёлые build (setState высоко в дереве, отсутствие const), вычисления в UI-изоляте (парсинг JSON, сортировки), нелениво построенные списки, дорогие эффекты отрисовки (saveLayer, тени, клипы), большие несжатые изображения, синхронный ввод-вывод.

Разбор

Диагностика: profile-режим, performance overlay, DevTools Performance и CPU Profiler.

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

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