How does the Android operating system handle process death, and how do you ensure state restoration in a complex multi-screen flow?