ListView & GridView
ListView, ListView.builder, GridView, ScrollController, повторне використання елементів, lazy loading
1У чому полягає основна відмінність між ListView() та ListView.builder() у Flutter?
У чому полягає основна відмінність між ListView() та ListView.builder() у Flutter?
Відповідь
ListView() створює всі свої дочірні елементи одразу, що може спричинити проблеми з продуктивністю при довгих списках. ListView.builder() використовує lazy loading і створює віджети лише тоді, коли вони стають видимими на екрані. Для списків з великою кількістю елементів рекомендується ListView.builder(), оскільки він оптимізує пам'ять і продуктивність шляхом повторного використання віджетів поза екраном.
2Який параметр ListView.builder() є обов'язковим для зазначення кількості елементів для відображення?
Який параметр ListView.builder() є обов'язковим для зазначення кількості елементів для відображення?
Відповідь
Параметр itemCount повідомляє ListView.builder(), скільки елементів містить список. Без цього параметра список вважався б нескінченним, а itemBuilder викликався б безкінечно. Встановлення itemCount дозволяє фреймворку знати, коли припинити побудову елементів і правильно відобразити індикатор прокручування.
3Як додати роздільник між кожним елементом ListView?
Як додати роздільник між кожним елементом ListView?
Відповідь
ListView.separated() спеціально розроблений для відображення роздільників між елементами. Окрім itemBuilder, він приймає separatorBuilder, що дозволяє визначити власний віджет (наприклад, Divider) між кожним елементом. Цей підхід чистіший, ніж ручне додавання роздільників у itemBuilder.
Як створити горизонтальний ListView у Flutter?
Яка роль параметра shrinkWrap у ListView?
+22 питань зі співбесід
Інші теми співбесід Flutter
Основи Dart
Основи мови Dart
Основи Flutter
Життєвий цикл віджетів
Локальне сховище
Життєвий цикл застосунку
Layouts & Constraints
Навігація та маршрутизація
Базове керування станом
Provider Pattern
Networking & HTTP
Серіалізація JSON
Локальна база даних
Форми та валідація
Анімації
Інтеграція Firebase
Модульне тестування
Тестування віджетів
Збірка та розгортання
Керування пакетами
Пам'ять та продуктивність
Streams & RxDart
Просунутий State Management
Flutter Design Patterns
Оптимізація продуктивності
Platform Channels
Custom Painting
Архітектура застосунків Flutter
Опануй Flutter для наступної співбесіди
Отримай доступ до всіх питань, flashcards, технічних тестів, вправ code review та симуляторів співбесід.
Почни безкоштовно