Flutter

Memory & Performance

Memory leaks, dispose, DevTools profiler, widget rebuilds, const constructors, keys

22 āļ„āļģāļ–āļēāļĄāļŠāļąāļĄāļ āļēāļĐāļ“āđŒÂ·
Senior
1

Which method must be called in dispose() to avoid a memory leak with an AnimationController?

āļ„āļģāļ•āļ­āļš

The AnimationController's dispose() method releases resources associated with the animation controller, including listeners and internal timers. Without this call, the controller continues running in the background even after the widget is destroyed, causing a memory leak and potentially errors if the controller attempts to update a removed widget.

2

Which Flutter DevTools tool allows identifying memory leaks?

āļ„āļģāļ•āļ­āļš

The Memory Profiler in Flutter DevTools provides a detailed view of the application's memory usage. It allows capturing heap snapshots, analyzing objects in memory, detecting instances not collected by the garbage collector, and identifying references preventing memory from being freed.

3

How to reduce unnecessary widget rebuilds in Flutter?

āļ„āļģāļ•āļ­āļš

Using const before widget constructors allows the framework to reuse the same instance rather than creating a new one on each build. This prevents unnecessary rebuilds because Flutter recognizes the widget hasn't changed. Const widgets are created at compile time and kept in memory for reuse.

4

What is the main cause of a memory leak with a StreamController?

5

Which type of Key should be used to optimize ListView performance with reorderable items?

+19 āļ„āļģāļ–āļēāļĄāļŠāļąāļĄāļ āļēāļĐāļ“āđŒ

āļŦāļąāļ§āļ‚āđ‰āļ­āļŠāļąāļĄāļ āļēāļĐāļ“āđŒ Flutter āļ­āļ·āđˆāļ™āđ†

Dart Basics

Junior
25 āļ„āļģāļ–āļēāļĄ

Dart Language Essentials

Junior
15 āļ„āļģāļ–āļēāļĄ

Flutter Fundamentals

Junior
18 āļ„āļģāļ–āļēāļĄ

Widget Lifecycle

Junior
20 āļ„āļģāļ–āļēāļĄ

Local Storage

Junior
20 āļ„āļģāļ–āļēāļĄ

Application Lifecycle

Junior
20 āļ„āļģāļ–āļēāļĄ

Layouts & Constraints

Mid-Level
24 āļ„āļģāļ–āļēāļĄ

ListView & GridView

Mid-Level
25 āļ„āļģāļ–āļēāļĄ

Navigation & Routing

Mid-Level
22 āļ„āļģāļ–āļēāļĄ

Basic State Management

Mid-Level
22 āļ„āļģāļ–āļēāļĄ

Provider Pattern

Mid-Level
18 āļ„āļģāļ–āļēāļĄ

Networking & HTTP

Mid-Level
20 āļ„āļģāļ–āļēāļĄ

JSON Serialization

Mid-Level
20 āļ„āļģāļ–āļēāļĄ

Local Database

Mid-Level
22 āļ„āļģāļ–āļēāļĄ

Forms & Validation

Mid-Level
20 āļ„āļģāļ–āļēāļĄ

Animations

Mid-Level
20 āļ„āļģāļ–āļēāļĄ

Firebase Integration

Mid-Level
18 āļ„āļģāļ–āļēāļĄ

Unit Testing

Mid-Level
20 āļ„āļģāļ–āļēāļĄ

Widget Testing

Mid-Level
18 āļ„āļģāļ–āļēāļĄ

Build & Deployment

Mid-Level
16 āļ„āļģāļ–āļēāļĄ

Package Management

Mid-Level
16 āļ„āļģāļ–āļēāļĄ

Streams & RxDart

Senior
24 āļ„āļģāļ–āļēāļĄ

Advanced State Management

Senior
26 āļ„āļģāļ–āļēāļĄ

Flutter Design Patterns

Senior
24 āļ„āļģāļ–āļēāļĄ

Performance Optimization

Senior
26 āļ„āļģāļ–āļēāļĄ

Platform Channels

Senior
20 āļ„āļģāļ–āļēāļĄ

Custom Painting

Senior
22 āļ„āļģāļ–āļēāļĄ

Flutter Application Architecture

Senior
22 āļ„āļģāļ–āļēāļĄ

āđ€āļŠāļĩāđˆāļĒāļ§āļŠāļēāļ Flutter āļŠāļģāļŦāļĢāļąāļšāļāļēāļĢāļŠāļąāļĄāļ āļēāļĐāļ“āđŒāļ„āļĢāļąāđ‰āļ‡āļ–āļąāļ”āđ„āļ›

āđ€āļ‚āđ‰āļēāļ–āļķāļ‡āļ„āļģāļ–āļēāļĄāļ—āļąāđ‰āļ‡āļŦāļĄāļ” flashcards āđāļšāļšāļ—āļ”āļŠāļ­āļšāđ€āļ—āļ„āļ™āļīāļ„ āđāļšāļšāļāļķāļāļŦāļąāļ” code review āđāļĨāļ°āļ•āļąāļ§āļˆāļģāļĨāļ­āļ‡āļŠāļąāļĄāļ āļēāļĐāļ“āđŒ

āđ€āļĢāļīāđˆāļĄāđƒāļŠāđ‰āļŸāļĢāļĩ