Пам'ять та продуктивність
Витоки пам'яті, dispose, DevTools profiler, перебудови віджетів, const constructors, keys
1Який метод потрібно викликати в dispose(), щоб уникнути витоку пам'яті з AnimationController?
Який метод потрібно викликати в dispose(), щоб уникнути витоку пам'яті з AnimationController?
Відповідь
Метод dispose() об'єкта AnimationController звільняє ресурси, пов'язані з контролером анімації, зокрема listener'и та внутрішні таймери. Без цього виклику контролер продовжує працювати у фоновому режимі навіть після знищення віджета, спричиняючи витік пам'яті та потенційно помилки, якщо контролер намагається оновити видалений віджет.
2Який інструмент Flutter DevTools дозволяє виявляти витоки пам'яті?
Який інструмент Flutter DevTools дозволяє виявляти витоки пам'яті?
Відповідь
Memory Profiler у Flutter DevTools надає детальний огляд використання пам'яті застосунком. Він дозволяє робити знімки (snapshots) купи (heap), аналізувати об'єкти в пам'яті, виявляти екземпляри, які не збираються garbage collector, та визначати посилання, що перешкоджають звільненню пам'яті.
3Як зменшити непотрібні перебудови віджета у Flutter?
Як зменшити непотрібні перебудови віджета у Flutter?
Відповідь
Використання const перед конструкторами віджетів дозволяє фреймворку повторно використовувати той самий екземпляр замість створення нового при кожному build. Це запобігає непотрібним перебудовам, оскільки Flutter розпізнає, що віджет не змінився. Віджети const створюються під час компіляції та зберігаються в пам'яті для повторного використання.
Яка основна причина витоку пам'яті з StreamController?
Який тип Key слід використовувати для оптимізації продуктивності ListView з елементами, які можна переупорядковувати?
+19 питань зі співбесід
Інші теми співбесід Flutter
Основи Dart
Основи мови Dart
Основи Flutter
Життєвий цикл віджетів
Локальне сховище
Життєвий цикл застосунку
Layouts & Constraints
ListView & GridView
Навігація та маршрутизація
Базове керування станом
Provider Pattern
Networking & HTTP
Серіалізація JSON
Локальна база даних
Форми та валідація
Анімації
Інтеграція Firebase
Модульне тестування
Тестування віджетів
Збірка та розгортання
Керування пакетами
Streams & RxDart
Просунутий State Management
Flutter Design Patterns
Оптимізація продуктивності
Platform Channels
Custom Painting
Архітектура застосунків Flutter
Опануй Flutter для наступної співбесіди
Отримай доступ до всіх питань, flashcards, технічних тестів, вправ code review та симуляторів співбесід.
Почни безкоштовно