Выбор ответа Senior Списки и производительность обновлено
FlatList: windowSize
Вопрос
Что произойдёт, если уменьшить windowSize с 21 до 5?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: Меньше элементов вокруг экрана: экономия памяти, но пустые места при быстрой прокрутке. windowSize задаётся в экранах: 21 означает видимый экран и по 10 экранов сверху и снизу.
Варианты ответа
- Список покажет только 5 элементов и перестанет прокручиваться дальше
- Меньше элементов вокруг экрана: экономия памяти, но пустые места при быстрой прокруткеправильный ответ
- Ничего не изменится: проп
windowSizeдавно устарел и игнорируется в новых версиях RN - Элементы будут рендериться в 4 раза быстрее без каких-либо побочных эффектов
Разбор
windowSize задаётся в экранах: 21 означает видимый экран и по 10 экранов сверху и снизу. При 5 рендерится примерно по 2 экрана в каждую сторону. Это экономит память и JS-работу, но при быстрой прокрутке отрисовка может не успеть, и пользователь увидит пустоту. Это компромисс, а не бесплатное ускорение.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.