# Reactive Apps with Model-View-Intent - Part 6: Restoring State

DevFeed: [Reactive Apps with Model-View-Intent - Part 6: Restoring State](<https://devfeed.tech/articles/reactive-apps-with-model-view-intent-part-6-restoring-state-25459.md>)

Original publisher: [Read original article](<https://hannesdorfmann.com/android/mosby3-mvi-6/>)

Author: Hannes Dorfmann

Published: 2017-05-02T09:00:00Z

Content type: tutorial

Language: en

Sources: [Hannes Dorfmann](<https://devfeed.tech/sources/hannes-dorfmann.md>)

Topics: [reactive](<https://devfeed.tech/topics/reactive.md>), [RxJava](<https://devfeed.tech/topics/rxjava.md>), [Android](<https://devfeed.tech/topics/android.md>), [Processes](<https://devfeed.tech/topics/processes.md>), [navigation](<https://devfeed.tech/topics/navigation.md>), [push-notification](<https://devfeed.tech/topics/push-notification.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [blog-post](<https://devfeed.tech/tags/blog-post.md>), [mvi](<https://devfeed.tech/tags/mvi.md>), [navigation](<https://devfeed.tech/tags/navigation.md>), [process](<https://devfeed.tech/tags/process.md>), [push-notification](<https://devfeed.tech/tags/push-notification.md>), [reactive](<https://devfeed.tech/tags/reactive.md>), [rxjava](<https://devfeed.tech/tags/rxjava.md>)

## AI overview

This article explains how Model-View-Intent and unidirectional data flow can support state restoration in Android applications. It covers restoring in-memory state across view lifecycle events such as orientation changes and back-stack navigation, as well as persistent state across process death. The examples discuss Mosby, RxJava streams, presenters, and push-notification updates.

## Source excerpt

In the previous blog posts we have discussed Model-View-Intent (MVI) and the importance of unidirectional data flow. That simplifies state restoration a lot. How and why? We will discuss that in this blog post. There are two scenarios we will focus on in this blog post: Restoring state "in memory" (for example during screen orientation change) and restoring a "persistent state" (for example from Bundle previously saved in Activity.