Els estats d'interfície d'Android son importants en tant que les Activity i les View es destrueixen i es recreen de forma automàtica per part del sistema operatiu en diverses circumstàncies com:
La destrucció i recreació dels objectes es descriu en el cicle de vida o lifecycle de les Activitats.
La informació de la UI és volàtil i es perd o reinicia en la recreació, el què pot suposar una destrucció de les dades temporals que hi ha contingudes, per exemple, un missatge a mig redactar en una aplicació de missatgeria quan es rota el dispositiu.
Per solventar aquest problema es disposa de diversos mecanismes per guardar i recuperar l'estat de la UI:
Es poden guardar variables primitives o objectes simples com Strings en l'objecte de tipusBundle (i que acostuma a dir-se savedInstanceState) que ens proporciona el propi Android framework.
Revisa com enregistrar i recuperar dades de la UI en la documentació oficial del cicle de vida d'Android.
Una implementació resumida en la mateixa documentació.
Bàsicament es tracta de tenir-ho en compte als mètodes derivats d'Activity:
onSaveInstanceState(Bundle): una nova callback que ens permetrà guardar les dades de la UI en un objecte Bundle.onCreate(Bundle): quan recreem l'Activity cal tenir-ho en compte per recuperar les dades.onRestoreInstanceState(Bundle): enlloc de recuperar les dades al onCreate, es pot fer en aquest altre mètode que es crida després de onCreate i onStart.
Revisa l'article Android Fragments per exercitar aquest mode.