rememberSaveable dopo la rotazione
Mantenga lo stato durante i cambiamenti di configurazione.
rememberSaveable dopo la rotazione è una lezione Jetpack Compose Academy gratuita su CoddyKit. Questa è la lezione 4 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Jetpack Compose Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Jetpack Compose Academy include 4 lezioni in totale.
Il problema della rotazione
Ruoti lo schermo e il contatore di tocchi torna a zero. Questo accade perché una modifica della configurazione ricrea l'intera Activity.
remember non basta
remember sopravvive alla ricomposizione, ma non alla ricreazione dell'Activity. Quando l'Activity viene riavviata, lo stato memorizzato scompare definitivamente.
Che cosa attiva la ricreazione
Rotazione, cambio della lingua e attivazione della modalità scura sono modifiche della configurazione. Ognuna di esse smonta e ricostruisce l'interfaccia da zero.
Ecco rememberSaveable
rememberSaveable funziona come remember, ma salva anche il valore nello stato dell'istanza salvata, permettendogli di sopravvivere alla ricreazione.
var count by rememberSaveable { mutableStateOf(0) }Basta sostituire la chiamata
Spesso la soluzione richiede una sola parola: sostituisca remember con rememberSaveable e il contatore manterrà il proprio valore dopo la rotazione.
Che cosa può essere salvato
Salva immediatamente i tipi che possono essere contenuti in un Bundle: Int, String, Boolean e altri tipi primitivi. La maggior parte degli stati semplici funziona senza altro.
var name by rememberSaveable { mutableStateOf("") }I tipi personalizzati richiedono un Saver
Per le proprie classi, fornisca a rememberSaveable uno Saver che gli spieghi come memorizzare e ripristinare l'oggetto come dati compatibili con un bundle.
Le data class semplificano tutto
Per le data class di Kotlin può usare gli helper mapSaver o listSaver, oppure annotare con Parcelize, per semplificare il salvataggio.
@Parcelize
data class User(val name: String) : ParcelableNon è per sempre
rememberSaveable sopravvive alla rotazione e a un breve passaggio in background, ma non alla chiusura completa dell'app. Per i dati permanenti serve comunque una memoria persistente.
Quando usarlo
Usi rememberSaveable per lo stato temporaneo dell'interfaccia che desidera mantenere durante la rotazione, come un contatore, una query digitata o l'indice di una scheda.
remember o Saveable
Regola generale: usi remember per valori leggeri o ricalcolabili, e rememberSaveable quando perdere il valore durante la rotazione infastidirebbe l'utente.
Verifica rapida
Quale API mantiene lo stato durante la rotazione dello schermo?
Riepilogo
Ha imparato che rememberSaveable mantiene attivo lo stato temporaneo dell'interfaccia durante la rotazione e le modifiche della configurazione, mentre remember non lo fa. Ben fatto! 🎉
Domande Frequenti
La lezione «rememberSaveable dopo la rotazione» è gratuita?
Sì — il testo completo di «rememberSaveable dopo la rotazione» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Jetpack Compose Academy, passa a CoddyKit PRO. Il corso Jetpack Compose Academy include 4 lezioni in totale.
Cosa imparerò in «rememberSaveable dopo la rotazione»?
Mantenga lo stato durante i cambiamenti di configurazione. Eserciti Jetpack Compose Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare Jetpack Compose Academy?
Non è richiesta alcuna esperienza precedente. Jetpack Compose Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 4 di 4.
Quanto tempo richiede la lezione «rememberSaveable dopo la rotazione»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione Jetpack Compose Academy?
Sì. Ogni lezione Jetpack Compose Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- remember e mutableStateOf
- Ricomposizione: cosa causa un ridisegno
- Creare un contatore di tocchi
- rememberSaveable dopo la rotazione