Карточка Middle Производительность обновлено
Источники рывков
Вопрос
Назовите основные причины рывков (jank) во Flutter-приложении.
Попробуйте сами
Ответьте про себя или вслух, потом откройте ответ и сверьтесь.
Показать ответ и разбор
Коротко
Лишние и тяжёлые build (setState высоко в дереве, отсутствие const), вычисления в UI-изоляте (парсинг JSON, сортировки), нелениво построенные списки, дорогие эффекты отрисовки (saveLayer, тени, клипы), большие несжатые изображения, синхронный ввод-вывод.
Ответ
Лишние и тяжёлые build (setState высоко в дереве, отсутствие const), вычисления в UI-изоляте (парсинг JSON, сортировки), нелениво построенные списки, дорогие эффекты отрисовки (saveLayer, тени, клипы), большие несжатые изображения, синхронный ввод-вывод.
Разбор
Диагностика: profile-режим, performance overlay, DevTools Performance и CPU Profiler.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.