Flow gives names to your Activity's UI states, navigates between them, and remembers where it's been. Navigate between UI states. Support the back button easily without confusing your users with surprising results. Remember the UI state, and its history, as you navigate and across configuration changes and process death. Manage resources with set-up/tear-down hooks invoked for each UI state. UI states can easily share resources, and they'll be disposed when no longer needed.