Interview frequency: …
Short answer
Create the controller in a clear owner, attach listeners at the right time, and clean up timers, streams, and the notifier in dispose.
Explanation
Every object that owns resources must have a known cleanup point. Do not let a provider or service live forever by default; tie its lifetime to a feature or to the app according to actual need.
Common mistakes
- Creating a controller inside build.
- Forgetting to cancel a subscription after leaving the screen.