Multitasking window focus
Multitasking and Window Focus Deep Dive¶
Overview¶
Modern Android supports split-screen, picture-in-picture, and rapid app switching. Lifecycle transitions depend on both visibility and input focus.
Visibility vs Focus¶
- An activity can be visible but not focused.
- Focus loss often triggers
onPause(). - Full invisibility transitions toward
onStop().
Typical Scenarios¶
Split Screen¶
- Multiple activities may be visible.
- Only one is primary focused for input at a time.
Picture-in-Picture¶
- Host activity enters PiP mode.
- Lifecycle and UI logic should adapt to reduced surface.
App Switching¶
- Foreground activity pauses/stops as another app resumes.
Practical Handling¶
- Pause camera/mic/sensors in
onPause()when appropriate. - Resume interaction-specific resources in
onResume(). - Persist transient UI state before potential stop/kill.
Interview Traps¶
- Equating visible with focused is incorrect.
- Heavy cleanup in
onPause()can degrade transitions.
Key Takeaways¶
- Build lifecycle logic around visibility + focus, not only foreground/background.
- Test on split-screen and PiP to validate assumptions.