Savedstate
| Ultimo aggiornamento | Release stabile | Candidato per la release | Release beta | Release alpha | 
|---|---|---|---|---|
| 22 ottobre 2025 | 1.3.3 | 1.4.0-rc01 | - | - | 
Dichiara le dipendenze
Per aggiungere una dipendenza da SavedState, devi aggiungere il repository Maven di Google al tuo progetto. Per saperne di più, consulta il repository Maven di Google.
Aggiungi le dipendenze per gli artefatti necessari nel file build.gradle per
la tua app o il tuo modulo:
Groovy
dependencies { // Java language implementation implementation "androidx.savedstate:savedstate:1.3.3" // Kotlin implementation "androidx.savedstate:savedstate-ktx:1.3.3" }
Kotlin
dependencies { // Java language implementation implementation("androidx.savedstate:savedstate:1.3.3") // Kotlin implementation("androidx.savedstate:savedstate-ktx:1.3.3") }
Per saperne di più sulle dipendenze, consulta Aggiungi dipendenze di build.
Feedback
Il tuo feedback ci aiuta a migliorare Jetpack. Facci sapere se riscontri nuovi problemi o hai idee per migliorare questa libreria. Prima di segnalare un nuovo problema, dai un'occhiata ai problemi esistenti in questa raccolta. Puoi aggiungere il tuo voto a un problema esistente facendo clic sul pulsante a forma di stella.
Per ulteriori informazioni, consulta la documentazione di Issue Tracker.
Versione 1.4
Versione 1.4.0-rc01
22 ottobre 2025
androidx.savedstate:savedstate-*:1.4.0-rc01 viene rilasciato senza modifiche rispetto alla versione 1.4.0-beta01. La versione 1.4.0-rc01 contiene questi commit.
Versione 1.4.0-beta01
8 ottobre 2025
androidx.savedstate:savedstate-*:1.4.0-beta01 viene rilasciato senza modifiche significative rispetto all'ultima versione alpha. La versione 1.4.0-beta01 contiene questi commit.
Versione 1.4.0-alpha03
27 agosto 2025
androidx.savedstate:savedstate-*:1.4.0-alpha03 è stato rilasciato. La versione 1.4.0-alpha03 contiene questi commit.
Modifiche alle API
- Aggiungi il supporto per i tipi che accettano valori Null in encodeToSavedStateedecodeFromSavedState. (I79062, b/439527454)
- Aggiorna Compose alla versione 1.9.0. (I2b9de)
Versione 1.4.0-alpha02
13 agosto 2025
androidx.savedstate:savedstate-*:1.4.0-alpha02 è stato rilasciato. La versione 1.4.0-alpha02 contiene questi commit.
Versione 1.4.0-alpha01
30 luglio 2025
androidx.savedstate:savedstate-*:1.4.0-alpha01 è stato rilasciato. La versione 1.4.0-alpha01 contiene questi commit.
Modifiche alle API
- Aggiungi il supporto nativo per i tipi nullable in SavedStateRegistryOwner.saved, semplificando il salvataggio e il ripristino delle proprietà nullable. (Ia632, b/421325690)
Versione 1.3
Versione 1.3.3
17 settembre 2025
androidx.savedstate:savedstate-*:1.3.3 è stato rilasciato. La versione 1.3.3 contiene questi commit.
Correzioni di bug
- È stato corretto un errore relativo al mancato utilizzo del plug-in del compilatore Compose che causava l'interruzione degli artefatti KMP SavedState. (Id2290, b/443965665)
Versione 1.3.2
27 agosto 2025
androidx.savedstate:savedstate-*:1.3.2 è stato rilasciato. La versione 1.3.2 contiene questi commit.
Nuove funzionalità
- Aggiungi nuovi target Kotlin Multiplatform (KMP) all'artefatto SavedState *-compose. Lifecycle ora supporta le seguenti piattaforme: JVM (Android e computer), Native (Linux, iOS, watchOS, macOS, MinGW) e Web (JavaScript, WasmJS). (/Idcf26)
Versione 1.3.1
16 luglio 2025
androidx.savedstate:savedstate-*:1.3.1 è stato rilasciato. La versione 1.3.1 contiene questi commit.
Correzioni di bug
- Aggiungi tutti i target KMP supportati dalle annotazioni agli artefatti SavedState.
- Sono stati aggiunti nuovi target Kotlin Multiplatform (KMP) agli artefatti SavedState.SavedStateora supporta le seguenti piattaforme in totale: JVM (Android e desktop), Native (Linux, iOS, watchOS, macOS, MinGW) e Web (JavaScript, WasmJS). Tieni presente che non sono state aggiunte nuove destinazioni KMP agli artefatti*-compose, poiché ciò dipende dalla release stabile di Compose 1.9. (I062f4).
Versione 1.3.0
7 maggio 2025
androidx.savedstate:savedstate-*:1.3.0 è stato rilasciato. La versione 1.3.0 contiene questi commit.
Modifiche importanti dalla versione 1.2.0
- LocalSavedStateRegistryOwnerè stato spostato dalla UI di Compose al nuovo modulo- savedstate-composein modo che le relative API helper basate su Compose possano essere utilizzate al di fuori della UI di Compose. Questo valore deve essere sempre utilizzato quando si utilizza Compose UI- 1.9.0-alpha02e versioni successive, ma è compatibile con le versioni precedenti, quindi può essere utilizzato con tutte le versioni di Compose.
- Le estensioni savedstate-ktxKotlin sono state spostate nel modulo base savedstate.
- Le istanze SavedStateRegistryOwnerrecuperate tramitefindViewTreeSavedStateRegistryOwnerora possono essere risolte tramite genitori disgiunti di una vista, ad esempio unViewOverlay. Per ulteriori informazioni sui genitori della visualizzazione disgiunta, consulta le note di rilascio di core o la documentazione inViewTree.setViewTreeDisjointParent.
Kotlin Multiplatform
- Il modulo SavedStateora è compatibile con KMP. Le piattaforme supportate ora includono Android, iOS, Linux, Mac e gli ambienti desktop JVM.
- Introduci il tipo opaco - SavedStatecome astrazione per fornire un modo coerente per salvare e ripristinare lo stato dell'applicazione in KMP. Include- SavedStateReadere- SavedStateWriterper modificare lo stato da salvare. Su Android,- SavedStateè un alias di tipo per- Bundle, che garantisce la compatibilità binaria e facilita la migrazione delle API esistenti a un insieme di origini comune. Su altre piattaforme,- SavedStateè un'istanza- Map<String, Any>.- // Create a new SavedState object using the savedState DSL: val savedState = savedState { putInt("currentPage", 1) putString("filter", "favorites") } // Read from a SavedState object val currentPage = savedState.read { getInt("currentPage") } // Edit an existing SavedState object savedState.write { remove("currentPage") }
Supporto della serializzazione KotlinX
- SavedStateora include il supporto della serializzazione KotlinX. Puoi convertire una classe annotata con- @Serializablein un- SavedStateutilizzando i metodi- encodeToSavedStatee- decodeFromSavedState. L'- SavedStaterestituito è un normale- Bundlesu Android e può essere utilizzato da qualsiasi API che accetta un- Bundle.- @Serializable data class Person(val firstName: String, val lastName: String) fun main() { val person = Person("John", "Doe") val encoded: SavedState = encodeToSavedState(person) val decoded: Person = decodeFromSavedState(encoded) }
- Mentre la maggior parte dei tipi (come i tipi primitivi) è supportata direttamente senza necessità di configurazione, i serializzatori aggiuntivi che possono essere utilizzati con - @Serializable(with = ___:class)sono disponibili nel pacchetto- androidx.savedstate.serialization.serializersnel modulo- savedstatee nel pacchetto- androidx.savedstate.compose.serialization.serializersnel modulo- savedstate-compose.
- Abbiamo incluso anche - saved, un delegato di proprietà pigro, per semplificare l'archiviazione delle classi- @Serializablein un- SavedStateRegistryOwner(ad es.- ComponentActivity,- Fragmente così via) e ripristinarle automaticamente in caso di interruzione e ricreazione del processo. Tieni presente che il delegato- savedè pigro e non chiamerà la lambda- initné salverà nulla in- SavedStateRegistryfinché non viene eseguito l'accesso.- @Serializable data class Person(val firstName: String, val lastName: String) class MyActivity : ComponentActivity() { var person by saved { Person("John", "Doe") } override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) this.person = Person("Jane", "Doe") } }
- In Ciclo di vita - 2.9.0è stato aggiunto un delegato di proprietà- savedsimile per- SavedStateHandle.
Versione 1.3.0-rc01
23 aprile 2025
androidx.savedstate:savedstate-*:1.3.0-rc01 è stato rilasciato. La versione 1.3.0-rc01 contiene questi commit.
Versione 1.3.0-beta01
9 aprile 2025
androidx.savedstate:savedstate-*:1.3.0-beta01 è stato rilasciato. La versione 1.3.0-beta01 contiene questi commit.
Aggiornamenti delle dipendenze
- Questa libreria ora ha come target il livello del linguaggio Kotlin 2.0 e richiede KGP 2.0.0 o versioni successive. (Idb6b5)
Versione 1.3.0-alpha11
26 marzo 2025
androidx.savedstate:savedstate-*:1.3.0-alpha11 viene rilasciato senza modifiche pubbliche degne di nota. La versione 1.3.0-alpha11 contiene questi commit.
Versione 1.3.0-alpha10
12 marzo 2025
androidx.savedstate:savedstate-*:1.3.0-alpha10 è stato rilasciato. La versione 1.3.0-alpha10 contiene questi commit.
Nuove funzionalità
- Aggiungi varianti di metodi non reificati per le raccolte getinSavedStateReader. (I0b641, b/399820614)
- Aggiungi encodeDefaultsaSavedStateConfiguration, consentendo di personalizzare se le proprietà con valori predefiniti devono essere codificate. (I893cc, b/395104517)
- Aggiungi SnapshotStateMapSerializerper supportaremutableStateMapOf. (Ie6f19, b/378895074)
- Aggiungi SnapshotStateListSerializerper supportaremutableStateListOf. (I4d888, b/378895074)
- Aggiungi getOrNullmetodi alternativi per le variantiSavedStateReader.get. Questi metodi eseguono il boxing automatico dei valori primitivi. (I6228c, b/399820614)
Modifiche alle API
- Rimuovi getOrElsedaSavedStateReadera favore digetOrNull() ?: else(). (I87317, b/399820614)
- Rimuovi il modificatore inlinedai metodiSavedStateReadereSavedStateWriter. (If2a02, b/399820614)
- Rimozione dei serializzatori di elenchi e array specifici per Android integrati dall'API pubblica (Ida293)
- Sostituisci SparseParcelableArraySerializerconSparseArraySerializer(I91de8)
- Rendi coerente il comportamento di tutti i SavedStateReader.getgenerando un errore quando il tipo di valore non corrisponde al tipo restituito (I78c4a, b/399317598)
- Rinomina SavedState*DelegatesinSavedState*Delegate. (I8589b, b/399629301)
- Rinomina SavedStateConfiginSavedStateConfiguration. (I043a5, b/399629301)
Versione 1.3.0-alpha09
26 febbraio 2025
androidx.savedstate:savedstate-*:1.3.0-alpha09 è stato rilasciato. La versione 1.3.0-alpha09 contiene questi commit.
Nuove funzionalità
- Aggiungi il fallback per i tipi integrati, assicurandoti che tutti i tipi supportati da Bundlepossano essere utilizzati conencodeAsSavedState/decodeFromSavedStateper impostazione predefinita o, per le proprietà nelle classi@Serializable, tramite l'annotazione@Contextual. (Ic01d2)
- Includi il supporto per classDiscriminatoreclassDiscriminatorModesuSavedStateConfig. (I69b66, b/395104517)
Modifiche alle API
- Aggiungi il parametro SavedStateConfigai delegati disaved()(I39b3a)
- Rende i serializzatori incorporati oggetti singleton (Ifeee4)
- Le proprietà SavedStateConfigsono ora pubbliche, consentendo ad altri moduli di utilizzare queste configurazioni. (Ie5f49, b/378897438)
- Supporto @Serializer(with = ...)perMutableStateFlowSerializereMutableStateSerializer(I90953)
- Aggiungi contentDeepToStringaSavedStateReader(I14d10)
Versione 1.3.0-alpha08
12 febbraio 2025
androidx.savedstate:savedstate-*:1.3.0-alpha08 è stato rilasciato. La versione 1.3.0-alpha08 contiene questi commit.
Nuove funzionalità
- Sposta MutableStateSerializerinsavedstate-composedalifecycle-viewmodel-compose, consentendoti di utilizzare le API di serializzazione SavedState conMutableStatedi Compose. (I4f690, b/378895074)
Modifiche alle API
- Aggiungi una funzione di fabbrica per creare SavedStateda unSavedStateesistente. (I39f9a)
- Aggiunge il supporto per Array<SavedState>eList<SavedState>inandroidx.savedstate. (Idd8a5)
- Aggiungi il parametro facoltativo SavedStateConfigalla codifica/decodifica di SavedState (I6c4c0)
Versione 1.3.0-alpha07
29 gennaio 2025
androidx.savedstate:savedstate-*:1.3.0-alpha07 è stato rilasciato. La versione 1.3.0-alpha07 contiene questi commit.
Nuove funzionalità
- Aggiungi MutableStateFlowSerializerper la serializzazione dikotlinx.coroutines.flow.MutableStateFlow. (I6a892, b/378895070)
Modifiche alle API
- Sostituisci le funzioni delegate SavedStateRegistryOwner.saved()sottoposte a overload con parametri predefiniti (Icd1c1)
- Rendi JavaSerializableSerializereParcelableSerializerastratti (I268f6)
- Rimuovi T : CharSequencegenerico daCharSequenceSerializer(Ib40bd)
Versione 1.3.0-alpha06
11 dicembre 2024
androidx.savedstate:savedstate-*:1.3.0-alpha06 è stato rilasciato. La versione 1.3.0-alpha06 contiene questi commit.
Nuove funzionalità
- SavedStateKMP ora supporta:- IBinder,- Size,- SizeF,- Array<Parcelable>,- SparseArray<Parcelable>e Serializable (Android). (I1ba94, b/334076622)
- Aggiungi istanze KSerializerche possono essere utilizzate per codificare/decodificare i tipi Java e Android supportati da Bundle contrassegnando il campo pertinente nella classe con@Serializable(with = ParcelableSerializer::class). (I8c10f, I28caf, b/376026712)
- Le istanze SavedStateRegistryOwnerrecuperate tramitefindViewTreeSavedStateRegistryOwnerora possono essere risolte tramite genitori disgiunti di una vista, ad esempio unViewOverlay. Per ulteriori informazioni sui genitori della visualizzazione disgiunta, consulta le note di rilascio di core o la documentazione inViewTree.setViewTreeDisjointParent. (Iccb33)
Modifiche alle API
- Rendi più coerenti i nomi e l'organizzazione dei pacchetti con SavedStateRegistryOwnerDelegate(I8c135, b/376026744)
Versione 1.3.0-alpha05
13 novembre 2024
androidx.savedstate:savedstate-*:1.3.0-alpha05 è stato rilasciato. La versione 1.3.0-alpha05 contiene questi commit.
Supporto della serializzazione KotlinX
- SavedStateora include il supporto della serializzazione KotlinX. Puoi convertire una classe annotata con- @Serializablein un- SavedStateutilizzando i metodi- encodeToSavedStatee- decodeFromSavedState. L'- SavedStaterestituito è un normale- Bundlesu Android e può essere utilizzato da qualsiasi API che accetta un- Bundle. (I6f59f, b/374102924)- @Serializable data class Person(val firstName: String, val lastName: String) fun main() { val person = Person("John", "Doe") val encoded: SavedState = encodeToSavedState(person) val decoded: Person = decodeFromSavedState(encoded) }
- Abbiamo incluso anche - saved, un delegato di proprietà pigro, per semplificare l'archiviazione delle classi- @Serializablein un- SavedStateRegistryOwner(ad es.- ComponentActivity,- Fragmente così via) e ripristinarle automaticamente in caso di interruzione e ricreazione del processo. Tieni presente che il delegato- savedè pigro e non chiamerà la lambda- initné salverà nulla in- SavedStateRegistryfinché non viene eseguito l'accesso. (I66739, b/376027806)- @Serializable data class Person(val firstName: String, val lastName: String) class MyActivity : ComponentActivity() { var person by saved { Person("John", "Doe") } override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) this.person = Person("Jane", "Doe") } }
- In Ciclo di vita - 2.9.0-alpha07è stato aggiunto un delegato di proprietà- savedsimile per- SavedStateHandle.
Modifiche alle API
- Aggiungi toMapaSavedState, consentendo la conversione di qualsiasiSavedStatein unMapnormale (copia superficiale). (I487b9, b/334076622)
- SavedStateKMP ora supporta gli array. (Ic0552, b/334076622)
Versione 1.3.0-alpha04
30 ottobre 2024
androidx.savedstate:savedstate-*:1.3.0-alpha04 è stato rilasciato. La versione 1.3.0-alpha04 contiene questi commit.
Modifiche alle API
- SavedState KMP ora supporta Char. (I9ac2f, b/334076622)
- Aggiungi putNulleisNulla SavedState KMP. (Iea71d, b/334076622)
- Aggiungi parametri di fabbrica savedStateaggiuntivi che supportano unMap<String, Any>iniziale (I9b37d, b/334076622)
- SavedState KMP ora supporta il confronto contentDeepEquals. (Ia515c, b/334076622)
- SavedState KMP ora supporta Long. (I4c180, b/334076622)
Versione 1.3.0-alpha03
16 ottobre 2024
androidx.savedstate:savedstate-*:1.3.0-alpha03 viene rilasciato senza modifiche significative. La versione 1.3.0-alpha03 contiene questi commit.
Versione 1.3.0-alpha02
2 ottobre 2024
androidx.savedstate:savedstate-*:1.3.0-alpha02 è stato rilasciato. La versione 1.3.0-alpha02 contiene questi commit.
Kotlin Multiplatform
- Il modulo SavedStateora è compatibile con KMP. Le piattaforme supportate ora includono Android, iOS, Linux, Mac e gli ambienti desktop JVM. (I26305, b/334076622)
Nuove funzionalità
- Introduci il tipo opaco SavedStatecome astrazione per fornire un modo coerente per salvare e ripristinare lo stato dell'applicazione in KMP. IncludeSavedStateReadereSavedStateWriterper modificare lo stato da salvare. Su Android,SavedStateè un alias di tipo perBundle, che garantisce la compatibilità binaria e facilita la migrazione delle API esistenti a un insieme di origini comune. Su altre piattaforme,SavedStateè un'istanzaMap<String, Any>. (I18575, b/334076622)
  // Create a new SavedState object using the savedState DSL:
  val savedState = savedState {
    putInt("currentPage", 1)
    putString("filter", "favorites")
  }
  // Read from a SavedState object
  val currentPage = savedState.read { getInt("currentPage") }
  // Edit an existing SavedState object
  savedState.write {
    remove("currentPage")
  }
Modifiche alle API
- SavedStateRegistrye- SavedStateRegistryControllerora sono compatibili con KMP. (Id7bb8, b/334076622)
- SavedState,- SavedStateWritere- SavedStateReaderora sono compatibili con KMP. (I26305, b/334076622)
Versione 1.3.0-alpha01
7 agosto 2024
androidx.savedstate:savedstate:1.3.0-alpha01 e androidx.savedstate:savedstate-ktx:1.3.0-alpha01 sono stati rilasciati. La versione 1.3.0-alpha01 contiene questi commit.
Modifiche alle API
- Le estensioni savedstate-ktxKotlin sono state spostate nel modulo base savedstate. (I1cc18, b/274803094)
Note
- Aggiornamento di compileSdkalla versione 35 (5dc41be)
Versione 1.2.1
Versione 1.2.1
22 marzo 2023
androidx.savedstate:savedstate:1.2.1 e androidx.savedstate:savedstate-ktx:1.2.1 sono stati rilasciati. La versione 1.2.1 contiene questi commit.
Aggiornamenti delle dipendenze
- SavedStateora dipende dal ciclo di vita- 2.6.1. (c1f621)
Versione 1.2.0
Versione 1.2.0
29 giugno 2022
androidx.savedstate:savedstate:1.2.0 e androidx.savedstate:savedstate-ktx:1.2.0 sono stati rilasciati. La versione 1.2.0 contiene questi commit.
Modifiche importanti dalla versione 1.1.0
- SavedStateRegistryControllerora consente l'allegato anticipato di- SavedStateRegistrytramite- performAttach().
- Ora puoi recuperare un SavedStateProviderregistrato in precedenza da unSavedStateRegistrytramitegetSavedStateProvider().
- La libreria SavedStateè stata riscritta in Kotlin.- Per SavedStateRegistryOwner, si tratta di una modifica incompatibile con l'origine per le classi scritte in Kotlin. Ora devi eseguire l'override della proprietàsavedStateRegistryanziché implementare la funzionegetSavedStateRegistry()precedente.
- Per ViewTreeSavedStateRegistryOwner, si tratta di una modifica incompatibile con l'origine per le classi scritte in Kotlin: ora devi importare e utilizzare direttamente i metodi di estensione Kotlin suViewdiandroidx.savedstate.setViewTreeSavedStateRegistryOwnereandroidx.savedstate.findViewTreeSavedStateRegistryOwnerper impostare e trovare un proprietario impostato in precedenza. Questa sostituisce l'APIsavedstate-ktxdifindViewTreeSavedStateRegistryOwner.
 
- Per 
Modifiche al comportamento
- SavedStateRegistrynon salva più un Bundle vuoto se non c'è uno stato da salvare.
Versione 1.2.0-rc01
11 maggio 2022
androidx.savedstate:savedstate:1.2.0-rc01 e androidx.savedstate:savedstate-ktx:1.2.0-rc01 sono stati rilasciati. La versione 1.2.0-rc01 contiene questi commit.
Modifiche alla documentazione
- I  SavedStateRegistryOwnerKdocs sono stati aggiornati per chiarire le responsabilità e il contratto che il proprietario ha in merito a come deve implementare l'interfaccia o quando deve chiamare i metodi suSavedStateRegistryController. (Iefc95, b/228887344)
Versione 1.2.0-beta01
20 aprile 2022
androidx.savedstate:savedstate:1.2.0-beta01 e androidx.savedstate:savedstate-ktx:1.2.0-beta01 sono stati rilasciati. La versione 1.2.0-beta01 contiene questi commit.
Modifiche alle API
- Le classi SavedStateRegistryeViewTreeSavedStateRegistryOwnersono state riscritte in Kotlin. PerViewTreeSavedStateRegistryOwner, si tratta di una modifica incompatibile con l'origine per le classi scritte in Kotlin: ora devi importare e utilizzare direttamente i metodi di estensione Kotlin suViewdiandroidx.savedstate.setViewTreeSavedStateRegistryOwnereandroidx.savedstate.findViewTreeSavedStateRegistryOwnerper impostare e trovare un proprietario impostato in precedenza. Questa sostituisce l'APIsavedstate-ktxdifindViewTreeSavedStateRegistryOwner. È compatibile a livello binario e rimane compatibile a livello di codice sorgente per le implementazioni scritte nel linguaggio di programmazione Java. (b/220191285)
Versione 1.2.0-alpha02
6 aprile 2022
androidx.savedstate:savedstate:1.2.0-alpha02 e androidx.savedstate:savedstate-ktx:1.2.0-alpha02 sono stati rilasciati. La versione 1.2.0-alpha02 contiene questi commit.
Nuove funzionalità
- Ora puoi recuperare un SavedStateProviderregistrato in precedenza da unSavedStateRegistrytramitegetSavedStateProvider(). (I7ea47, b/215406268)
Modifiche alle API
- Le classi SavedStateRegistryOwner,SavedStateRegistryControllereRecreatorsono state riscritte in Kotlin. PerSavedStateRegistryOwner, si tratta di una modifica incompatibile con l'origine per le classi scritte in Kotlin. Ora devi eseguire l'override della proprietàsavedStateRegistryanziché implementare la funzionegetSavedStateRegistry()precedente. È compatibile a livello binario e di codice sorgente per le implementazioni scritte nel linguaggio di programmazione Java. (b/220191285)
Versione 1.2.0-alpha01
26 gennaio 2022
androidx.savedstate:savedstate:1.2.0-alpha01 e androidx.savedstate:savedstate-ktx:1.2.0-alpha01 sono stati rilasciati. La versione 1.2.0-alpha01 contiene questi commit.
Nuove funzionalità
- SavedStateRegistryControllerora consente l'allegato anticipato di- SavedStateRegistrytramite- performAttach(). (Ice4bf)
Modifiche al comportamento
- SavedStateRegistrynon salva più un Bundle vuoto se non c'è uno stato da salvare. (aosp/1896865, b/203457956)
Versione 1.1.0
Versione 1.1.0
10 febbraio 2021
androidx.savedstate:savedstate:1.1.0 e androidx.savedstate:savedstate-ktx:1.1.0 sono stati rilasciati. La versione 1.1.0 contiene questi commit.
Modifiche principali dalla versione 1.0.0
- API ViewTreeSavedStateRegistryOwner: una nuova APIViewTreeSavedStateRegistryOwner.get(View)consente di recuperare l'SavedStateRegistrycontenitore dato un'istanzaView. Per compilare correttamente questo campo, devi eseguire l'upgrade ad Activity1.2.0, Fragment1.3.0e AppCompat1.3.0-alpha01o versioni successive.
- savedstate-ktxartefatto: il nuovo artefatto- savedstate-ktxè stato aggiunto con un'estensione- findViewTreeSavedStateRegistryOwner()Kotlin per l'utilizzo di- ViewTreeSavedStateRegistryOwner.
Versione 1.1.0-rc01
16 dicembre 2020
androidx.savedstate:savedstate:1.1.0-rc01 e androidx.savedstate:savedstate-ktx:1.1.0-rc01 vengono rilasciati senza modifiche dal giorno 1.1.0-beta01. La versione 1.1.0-rc01 contiene questi commit.
Versione 1.1.0-beta01
1° ottobre 2020
androidx.savedstate:savedstate:1.1.0-beta01 e androidx.savedstate:savedstate-ktx:1.1.0-beta01 vengono rilasciati senza modifiche dal giorno 1.1.0-alpha01. La versione 1.1.0-beta01 contiene questi commit.
Versione 1.1.0-alpha01
20 maggio 2020
androidx.savedstate:savedstate:1.1.0-alpha01 e androidx.savedstate:savedstate-ktx:1.1.0-alpha01 sono stati rilasciati. La versione 1.1.0-alpha01 contiene questi commit.
Nuove funzionalità
- Una nuova API ViewTreeSavedStateRegistryOwner.get(View)ti consente di recuperare ilSavedStateRegistrycontenitore dato un'istanzaView. Per compilare correttamente questo campo, devi eseguire l'upgrade ad Activity1.2.0-alpha05, Fragment1.3.0-alpha05e AppCompat1.3.0-alpha01. (aosp/1298679)
- È stato aggiunto il nuovo artefatto savedstate-ktxcon un'estensione KotlinfindViewTreeSavedStateRegistryOwner()per l'utilizzo diViewTreeSavedStateRegistryOwner. (aosp/1299434)
Versione 1.0.0
Versione 1.0.0
5 settembre 2019
androidx.savedstate:savedstate:1.0.0 è stato rilasciato.  I commit inclusi in questa versione sono disponibili qui.
Funzionalità principali di SavedState 1.0.0
androidx.savedstate è stata promossa a release stabile. Si tratta di un insieme di API che consentono agli sviluppatori di collegare componenti al processo di ripristino / salvataggio di InstanceState. Il punto di ingresso principale dell'API è SavedStateRegistry, che fornisce un modo per recuperare gli stati salvati in precedenza utilizzando consumeRestoredStateForKey e registrare un callback in registerSavedStateProvider per fornire uno stato salvato una volta che il sistema lo richiede.
Versione 1.0.0-rc01
2 luglio 2019
androidx.savedstate:savedstate:1.0.0-rc01 è stato rilasciato.  I commit inclusi in questa versione sono disponibili qui.
Correzioni di bug
- Correzione della regola Proguard errata (b/132655499)
Versione 1.0.0-beta01
7 maggio 2019
androidx.savedstate:savedstate:1.0.0-beta01 è stato rilasciato.  I commit inclusi in questa versione sono disponibili qui.
Versione 1.0.0-alpha02
13 marzo 2019
androidx.savedstate:savedstate:1.0.0-alpha02 è stato rilasciato.  androidx.savedstate:savedstate combina gli artefatti androidx.savedstate:savedstate-bundle e androidx.savedstate:savedstate-common in un unico artefatto, perché è stato deciso di semplificare l'infrastruttura savedstate e rimuovere i generici da SavedStateRegistry.  Pertanto, non sono necessari moduli separati.
L'elenco completo dei commit inclusi in questa versione è disponibile qui.
Nuove funzionalità
- Membri aggiunti: SavedStateRegistry.runOnNextRecreaction(Class<? extends AutoRecreated> clazz )La classe specificata verrà istanziata e il metodoAutoRecreated.onRecreatedverrà eseguito al riavvio del componente proprietario.
Modifiche all'API
- Generici rimossi da SavedStateRegistry<T>
- AbstractSavedStateRegistry e BundlableSavedStateRegistry sono stati rimossi, utilizza invece SavedStateRegistry
- BundleSavedStateRegistryOwnerè stato rinominato in- SavedStateRegistryOwner
Versione 1.0.0-alpha01
17 dicembre 2018
Questa è la prima release di SavedState.
Nuove funzionalità
androidx.savedstate è un nuovo insieme di API alpha che consentono agli sviluppatori di collegare componenti al processo di ripristino / saveInstanceState.  Il punto di accesso principale dell'API è SavedStateRegistry<T>, che fornisce un modo per recuperare lo stato salvato in precedenza tramite consumeRestoredStateForKey e registrare un callback in registerSavedStateProvider per fornire uno stato salvato quando il sistema lo richiede.
