Выбор ответа Middle Производительность обновлено

Flutter: RepaintBoundary

Вопрос

Когда RepaintBoundary действительно помогает?

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

Выберите вариант, и откроется разбор.

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

Коротко

Правильный ответ: Когда маленькая часть часто перерисовывается, а остальное статично. RepaintBoundary отделяет поддерево в свой слой, и перерисовка внутри не затрагивает соседей.

Варианты ответа

  1. Когда маленькая часть часто перерисовывается, а остальное статичноправильный ответ
  2. Всегда: его нужно ставить вокруг каждого виджета, Flutter сам этого не делает
  3. Когда нужно избежать вызова build у дочерних виджетов при setState
  4. Когда нужно ускорить раскладку Row и Column с большим числом детей

Разбор

RepaintBoundary отделяет поддерево в свой слой, и перерисовка внутри не затрагивает соседей. Это выгодно, когда часто меняющаяся часть изолирована. Каждый слой стоит памяти и композиции, поэтому «везде» вредно. На build и раскладку он не влияет, только на отрисовку.

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

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