Per memorizzare i dati solo per il corso della vita di applicazione (cioè temporaneamente), utilizzare l'evento onSaveInstanceState (Bundle) attività
Questi dati si terranno solo in memoria fino a quando l'applicazione è chiusa, i dati saranno disponibile ogni volta che questa attività inizia nel corso della vita corrente dell'applicazione.
Spiegazione: se i dati vengono memorizzati qui dall'attività A quindi l'applicazione mostra un'altra attività o ruota schermo (quindi di chiusura A) e quindi ritorna alla AI dati possono essere recuperati per popolare i controlli. Tuttavia, se l'applicazione viene chiusa e riaperta, i dati verranno eliminati e i controlli torneranno ai valori predefiniti.
Esempio di utilizzo: il testo memorizzare digitato dall'utente e le selezioni che costituiscono un ordine, blog, messaggi, ecc ...
Nota:
E 'importante notare che solo l'attività viene distrutto e ricreato, non la tua intera applicazione! Un'applicazione Android può essere composta da molte attività, servizi e ContentProvider! Se l'applicazione viene chiusa (ad esempio premendo il pulsante "Indietro", tutti i valori saranno persi. Il valore salvatoInstaceState è solo lì per conservare i dati temporanei quando un'attività viene distrutta/ricreata, non l'applicazione stessa.
desidera conservare i dati in modo permanente, è necessario salvarli come preferenze o in un ContentProvider/database
Grazie è esattamente quello che volevo sapere – Jleuleu
Questa è una risposta imprecisa. Considera il caso in cui il processo dell'app viene ucciso automaticamente dal sistema operativo (mentre l'app è in background) e l'utente torna all'app, quindi il sistema operativo ripristina l'app (crea un nuovo processo e ripristina lo stack delle attività). Nonostante il processo app non fosse presente da un po 'di tempo, il pacchetto viene fornito a un'attività ripristinata, quindi è stato in qualche modo memorizzato da qualche parte all'interno del sistema. A sua volta, il sistema non stabilisce esattamente come memorizza i bundle, quindi in teoria potrebbe usare il filesystem. –
Puoi anche controllare la risposta relativa da CommonsWare: http://stackoverflow.com/a/12468776/247013 –