Flutter

Пам'ять та продуктивність

Витоки пам'яті, dispose, DevTools profiler, перебудови віджетів, const constructors, keys

22 питань зі співбесід·
Senior
1

Який метод потрібно викликати в dispose(), щоб уникнути витоку пам'яті з AnimationController?

Відповідь

Метод dispose() об'єкта AnimationController звільняє ресурси, пов'язані з контролером анімації, зокрема listener'и та внутрішні таймери. Без цього виклику контролер продовжує працювати у фоновому режимі навіть після знищення віджета, спричиняючи витік пам'яті та потенційно помилки, якщо контролер намагається оновити видалений віджет.

2

Який інструмент Flutter DevTools дозволяє виявляти витоки пам'яті?

Відповідь

Memory Profiler у Flutter DevTools надає детальний огляд використання пам'яті застосунком. Він дозволяє робити знімки (snapshots) купи (heap), аналізувати об'єкти в пам'яті, виявляти екземпляри, які не збираються garbage collector, та визначати посилання, що перешкоджають звільненню пам'яті.

3

Як зменшити непотрібні перебудови віджета у Flutter?

Відповідь

Використання const перед конструкторами віджетів дозволяє фреймворку повторно використовувати той самий екземпляр замість створення нового при кожному build. Це запобігає непотрібним перебудовам, оскільки Flutter розпізнає, що віджет не змінився. Віджети const створюються під час компіляції та зберігаються в пам'яті для повторного використання.

4

Яка основна причина витоку пам'яті з StreamController?

5

Який тип Key слід використовувати для оптимізації продуктивності ListView з елементами, які можна переупорядковувати?

+19 питань зі співбесід

Інші теми співбесід Flutter

Основи Dart

Junior
25 запитань

Основи мови Dart

Junior
15 запитань

Основи Flutter

Junior
18 запитань

Життєвий цикл віджетів

Junior
20 запитань

Локальне сховище

Junior
20 запитань

Життєвий цикл застосунку

Junior
20 запитань

Layouts & Constraints

Mid-Level
24 запитань

ListView & GridView

Mid-Level
25 запитань

Навігація та маршрутизація

Mid-Level
22 запитань

Базове керування станом

Mid-Level
22 запитань

Provider Pattern

Mid-Level
18 запитань

Networking & HTTP

Mid-Level
20 запитань

Серіалізація JSON

Mid-Level
20 запитань

Локальна база даних

Mid-Level
22 запитань

Форми та валідація

Mid-Level
20 запитань

Анімації

Mid-Level
20 запитань

Інтеграція Firebase

Mid-Level
18 запитань

Модульне тестування

Mid-Level
20 запитань

Тестування віджетів

Mid-Level
18 запитань

Збірка та розгортання

Mid-Level
16 запитань

Керування пакетами

Mid-Level
16 запитань

Streams & RxDart

Senior
24 запитань

Просунутий State Management

Senior
26 запитань

Flutter Design Patterns

Senior
24 запитань

Оптимізація продуктивності

Senior
26 запитань

Platform Channels

Senior
20 запитань

Custom Painting

Senior
22 запитань

Архітектура застосунків Flutter

Senior
22 запитань

Опануй Flutter для наступної співбесіди

Отримай доступ до всіх питань, flashcards, технічних тестів, вправ code review та симуляторів співбесід.

Почни безкоштовно