Saving an activity's state
The mobile environment is very dynamic, with users changing tasks much more often than on desktops. With generally fewer resources on a mobile device, it should be expected that your application will be interrupted at some point. It's also very possible that the system will
shut down your app completely to give additional resources to the task at hand. It's the nature of mobiles. A user might start typing something in your app, be interrupted by a phone call, or switch
over to another app to send a text message, and by the time they get back to your app, the system may have closed it down completely to free up the memory. To provide the best user experience, you need to expect such behavior and make it easier for your user to resume
from where they left off. The good thing is that the Android OS makes this easier by providing callbacks to notify your app of state changes.
In this recipe, you'll see how to handle the onSaveInstanceState() and
onRestoreInstanceState() callbacks to save your application's state. We will demonstrate this by creating a counter variable and increment it each time the Count button is pressed. We will also have an EditText and a TextView widget to see their default behavior.