Flutter

āļŦāļ™āđˆāļ§āļĒāļ„āļ§āļēāļĄāļˆāļģāđāļĨāļ°āļ›āļĢāļ°āļŠāļīāļ—āļ˜āļīāļ āļēāļž

Memory leaks, dispose, DevTools profiler, āļāļēāļĢ rebuild widget, const constructors, keys

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

āđ€āļĄāļ˜āļ­āļ”āđƒāļ”āļ•āđ‰āļ­āļ‡āļ–āļđāļāđ€āļĢāļĩāļĒāļāđƒāļ™ dispose() āđ€āļžāļ·āđˆāļ­āļŦāļĨāļĩāļāđ€āļĨāļĩāđˆāļĒāļ‡ memory leak āļāļąāļš AnimationController?

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

āđ€āļĄāļ˜āļ­āļ” dispose() āļ‚āļ­āļ‡ AnimationController āļˆāļ°āļ›āļĨāđˆāļ­āļĒāļ—āļĢāļąāļžāļĒāļēāļāļĢāļ—āļĩāđˆāđ€āļāļĩāđˆāļĒāļ§āļ‚āđ‰āļ­āļ‡āļāļąāļš animation controller āļĢāļ§āļĄāļ–āļķāļ‡ listener āđāļĨāļ° timer āļ āļēāļĒāđƒāļ™ āļŦāļēāļāđ„āļĄāđˆāļĄāļĩāļāļēāļĢāđ€āļĢāļĩāļĒāļāļ™āļĩāđ‰ controller āļˆāļ°āļĒāļąāļ‡āļ„āļ‡āļ—āļģāļ‡āļēāļ™āļ­āļĒāļđāđˆāđ€āļšāļ·āđ‰āļ­āļ‡āļŦāļĨāļąāļ‡āđāļĄāđ‰āļŦāļĨāļąāļ‡āļˆāļēāļ widget āļ–āļđāļāļ—āļģāļĨāļēāļĒāđ„āļ›āđāļĨāđ‰āļ§ āļ—āļģāđƒāļŦāđ‰āđ€āļāļīāļ” memory leak āđāļĨāļ°āļ­āļēāļˆāđ€āļāļīāļ”āļ‚āđ‰āļ­āļœāļīāļ”āļžāļĨāļēāļ”āđ„āļ”āđ‰āļŦāļēāļ controller āļžāļĒāļēāļĒāļēāļĄāļ­āļąāļ›āđ€āļ”āļ• widget āļ—āļĩāđˆāļ–āļđāļāļĨāļšāđ„āļ›āđāļĨāđ‰āļ§

2

āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļĄāļ·āļ­āđƒāļ”āļ‚āļ­āļ‡ Flutter DevTools āļ—āļĩāđˆāļŠāđˆāļ§āļĒāļĢāļ°āļšāļļ memory leak āđ„āļ”āđ‰?

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

Memory Profiler āđƒāļ™ Flutter DevTools āđƒāļŦāđ‰āļĄāļļāļĄāļĄāļ­āļ‡āđ‚āļ”āļĒāļĨāļ°āđ€āļ­āļĩāļĒāļ”āđ€āļāļĩāđˆāļĒāļ§āļāļąāļšāļāļēāļĢāđƒāļŠāđ‰āļŦāļ™āđˆāļ§āļĒāļ„āļ§āļēāļĄāļˆāļģāļ‚āļ­āļ‡āđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™ āļŠāđˆāļ§āļĒāđƒāļŦāđ‰āļŠāļēāļĄāļēāļĢāļ–āļˆāļąāļš snapshot āļ‚āļ­āļ‡ heap āļ§āļīāđ€āļ„āļĢāļēāļ°āļŦāđŒāļ­āđ‡āļ­āļšāđ€āļˆāļāļ•āđŒāđƒāļ™āļŦāļ™āđˆāļ§āļĒāļ„āļ§āļēāļĄāļˆāļģ āļ•āļĢāļ§āļˆāļˆāļąāļš instance āļ—āļĩāđˆāđ„āļĄāđˆāļ–āļđāļāđ€āļāđ‡āļšāļāļ§āļēāļ”āđ‚āļ”āļĒ garbage collector āđāļĨāļ°āļĢāļ°āļšāļļāļāļēāļĢāļ­āđ‰āļēāļ‡āļ­āļīāļ‡āļ—āļĩāđˆāļ‚āļąāļ”āļ‚āļ§āļēāļ‡āļāļēāļĢāļ›āļĨāđˆāļ­āļĒāļŦāļ™āđˆāļ§āļĒāļ„āļ§āļēāļĄāļˆāļģ

3

āļˆāļ°āļĨāļ”āļāļēāļĢ rebuild widget āļ—āļĩāđˆāđ„āļĄāđˆāļˆāļģāđ€āļ›āđ‡āļ™āđƒāļ™ Flutter āđ„āļ”āđ‰āļ­āļĒāđˆāļēāļ‡āđ„āļĢ?

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

āļāļēāļĢāđƒāļŠāđ‰ const āļŦāļ™āđ‰āļē constructor āļ‚āļ­āļ‡ widget āļŠāđˆāļ§āļĒāđƒāļŦāđ‰ framework āļ™āļģ instance āđ€āļ”āļīāļĄāļāļĨāļąāļšāļĄāļēāđƒāļŠāđ‰āđāļ—āļ™āļ—āļĩāđˆāļˆāļ°āļŠāļĢāđ‰āļēāļ‡āđƒāļŦāļĄāđˆāļ—āļļāļāļ„āļĢāļąāđ‰āļ‡āļ—āļĩāđˆ build āļ‹āļķāđˆāļ‡āļŦāļĨāļĩāļāđ€āļĨāļĩāđˆāļĒāļ‡āļāļēāļĢ rebuild āļ—āļĩāđˆāđ„āļĄāđˆāļˆāļģāđ€āļ›āđ‡āļ™āđ€āļžāļĢāļēāļ° Flutter āļĢāļąāļšāļĢāļđāđ‰āļ§āđˆāļē widget āđ„āļĄāđˆāđ„āļ”āđ‰āđ€āļ›āļĨāļĩāđˆāļĒāļ™āđāļ›āļĨāļ‡ widget āđāļšāļš const āļ–āļđāļāļŠāļĢāđ‰āļēāļ‡āļ‚āļķāđ‰āļ™āđƒāļ™āđ€āļ§āļĨāļēāļ„āļ­āļĄāđ„āļžāļĨāđŒāđāļĨāļ°āđ€āļāđ‡āļšāđ„āļ§āđ‰āđƒāļ™āļŦāļ™āđˆāļ§āļĒāļ„āļ§āļēāļĄāļˆāļģāđ€āļžāļ·āđˆāļ­āļ™āļģāļāļĨāļąāļšāļĄāļēāđƒāļŠāđ‰

4

āļŠāļēāđ€āļŦāļ•āļļāļŦāļĨāļąāļāļ‚āļ­āļ‡ memory leak āļāļąāļš StreamController āļ„āļ·āļ­āļ­āļ°āđ„āļĢ?

5

āļ„āļ§āļĢāđƒāļŠāđ‰ Key āļ›āļĢāļ°āđ€āļ āļ—āđƒāļ”āđ€āļžāļ·āđˆāļ­āđ€āļžāļīāđˆāļĄāļ›āļĢāļ°āļŠāļīāļ—āļ˜āļīāļ āļēāļžāļ‚āļ­āļ‡ ListView āļ—āļĩāđˆāļĄāļĩāļĢāļēāļĒāļāļēāļĢāļ‹āļķāđˆāļ‡āļˆāļąāļ”āđ€āļĢāļĩāļĒāļ‡āđƒāļŦāļĄāđˆāđ„āļ”āđ‰?

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

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

āļžāļ·āđ‰āļ™āļāļēāļ™ Dart

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

āļžāļ·āđ‰āļ™āļāļēāļ™āļ āļēāļĐāļē Dart

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

āļžāļ·āđ‰āļ™āļāļēāļ™ Flutter

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

āļ§āļ‡āļˆāļĢāļŠāļĩāļ§āļīāļ•āļ‚āļ­āļ‡ Widget

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

āļāļēāļĢāļˆāļąāļ”āđ€āļāđ‡āļšāļ‚āđ‰āļ­āļĄāļđāļĨāđƒāļ™āđ€āļ„āļĢāļ·āđˆāļ­āļ‡

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

āļ§āļ‡āļˆāļĢāļŠāļĩāļ§āļīāļ•āļ‚āļ­āļ‡āđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™

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

Layouts & Constraints

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

ListView & GridView

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

āļāļēāļĢāļ™āļģāļ—āļēāļ‡āđāļĨāļ° Routing

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

āļāļēāļĢāļˆāļąāļ”āļāļēāļĢ State āļžāļ·āđ‰āļ™āļāļēāļ™

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 āļ„āļģāļ–āļēāļĄ

āļāļēāļĢāļ—āļ”āļŠāļ­āļš widget

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

āļāļēāļĢ Build āđāļĨāļ° Deploy

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 āđāļĨāļ°āļ•āļąāļ§āļˆāļģāļĨāļ­āļ‡āļŠāļąāļĄāļ āļēāļĐāļ“āđŒ

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