Savedstate
| Atualização mais recente | Versão estável | Versão candidata a lançamento | Versão Beta | Versão Alfa |
|---|---|---|---|---|
| 22 de outubro de 2025 | 1.3.3 | 1.4.0-rc01 | - | - |
Declarar dependências
Para adicionar uma dependência ao SavedState, adicione o repositório Maven do Google ao seu projeto. Leia Repositório Maven do Google para ver mais informações.
Adicione as dependências dos artefatos necessários ao arquivo build.gradle do
seu app ou módulo:
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") }
Para mais informações sobre dependências, consulte Adicionar dependências de build.
Feedback
Seu feedback ajuda a melhorar o Jetpack. Avise se você descobrir novos problemas ou tiver ideias para melhorar esta biblioteca. Consulte os problemas conhecidos nesta biblioteca antes de criar um novo. Adicione seu voto a um problema clicando no botão de estrela.
Consulte a documentação do Issue Tracker para saber mais.
Versão 1.4
Versão 1.4.0-rc01
22 de outubro de 2025
Lançamento de androidx.savedstate:savedstate-*:1.4.0-rc01 sem mudanças desde a versão 1.4.0-beta01. A versão 1.4.0-rc01 contém estes commits.
Versão 1.4.0-beta01
8 de outubro de 2025
androidx.savedstate:savedstate-*:1.4.0-beta01 é lançado sem mudanças significativas desde a última versão Alfa. A versão 1.4.0-beta01 contém estes commits.
Versão 1.4.0-alpha03
27 de agosto de 2025
Lançamento de androidx.savedstate:savedstate-*:1.4.0-alpha03. A versão 1.4.0-alpha03 contém estes commits.
Mudanças na API
- Adição de suporte para tipos anuláveis em
encodeToSavedStateedecodeFromSavedState. (I79062, b/439527454) - Atualize o Compose para a versão 1.9.0. (I2b9de)
Versão 1.4.0-alpha02
13 de agosto de 2025
Lançamento de androidx.savedstate:savedstate-*:1.4.0-alpha02. A versão 1.4.0-alpha02 contém estes commits.
Versão 1.4.0-alpha01
30 de julho de 2025
Lançamento de androidx.savedstate:savedstate-*:1.4.0-alpha01. A versão 1.4.0-alpha01 contém estes commits.
Mudanças na API
- Adição de suporte nativo para tipos anuláveis em
SavedStateRegistryOwner.saved, simplificando o salvamento e a restauração de propriedades anuláveis. (Ia632, b/421325690)
Versão 1.3
Versão 1.3.3
17 de setembro de 2025
Lançamento de androidx.savedstate:savedstate-*:1.3.3. A versão 1.3.3 contém estes commits.
Correções de bugs
- Correção de um erro em que o plug-in do compilador do Compose não era aplicado, o que fazia com que os artefatos
SavedStatedo KMP fossem corrompidos. (Id2290, b/443965665)
Versão 1.3.2
27 de agosto de 2025
Lançamento de androidx.savedstate:savedstate-*:1.3.2. A versão 1.3.2 contém estes commits.
Novos recursos
- Adição de novas plataformas do Kotlin Multiplatform (KMP) ao artefato SavedState
*-compose. Agora o ciclo de vida oferece suporte às seguintes plataformas: JVM (Android e computador), nativa (Linux, iOS, watchOS, macOS, MinGW) e Web (JavaScript, WasmJS). (/Idcf26)
Versão 1.3.1
16 de julho de 2025
Lançamento de androidx.savedstate:savedstate-*:1.3.1. A versão 1.3.1 contém estes commits.
Correções de bugs
- Adicione todas as metas de KMP compatíveis com anotações aos artefatos
SavedState. - Adição de novas plataformas do Kotlin Multiplatform (KMP) aos artefatos
SavedState. OSavedStateagora é compatível com as seguintes plataformas: JVM (Android e desktop), nativa (Linux, iOS, watchOS, macOS, MinGW) e Web (JavaScript, WasmJS). Nenhum novo destino do KMP foi adicionado aos artefatos*-compose, já que isso depende do lançamento estável do Compose 1.9. (I062f4).
Versão 1.3.0
7 de maio de 2025
Lançamento de androidx.savedstate:savedstate-*:1.3.0. A versão 1.3.0 contém estes commits.
Mudanças importantes desde a versão 1.2.0
LocalSavedStateRegistryOwnerfoi movido da interface do Compose para o novo módulosavedstate-composepara que as APIs auxiliares baseadas no Compose possam ser usadas fora da interface do Compose. Isso sempre deve ser usado com a Interface do Compose1.9.0-alpha02e versões mais recentes, mas é compatível com versões anteriores para que possa ser usado com todas as versões do Compose.- As extensões
savedstate-ktxdo Kotlin foram movidas para o módulo base savedstate. - As instâncias
SavedStateRegistryOwnerrecuperadas viafindViewTreeSavedStateRegistryOwneragora podem ser resolvidas por pais disjuntos de uma visualização, como umViewOverlay. Consulte as notas da versão do núcleo ou a documentação emViewTree.setViewTreeDisjointParentpara mais informações sobre pais de visualizações desconexas.
Kotlin Multiplatform
- O módulo
SavedStateagora é compatível com o KMP. As plataformas compatíveis agora incluem ambientes de computador Android, iOS, Linux, Mac e JVM. Introduzimos o tipo opaco
SavedStatecomo uma abstração para fornecer uma maneira consistente de salvar e restaurar o estado do aplicativo no KMP. Ele inclui umSavedStateReadere umSavedStateWriterpara modificar o estado a ser salvo. No Android,SavedStateé um alias de tipo paraBundle, garantindo a compatibilidade binária e facilitando a migração de APIs atuais para um conjunto de origem comum. Em outras plataformas,SavedStateé uma instânciaMap<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") }
Suporte à serialização do KotlinX (link em inglês)
O
SavedStateagora inclui suporte à serialização do KotlinX. É possível converter uma classe anotada com@Serializableem umSavedStateusando os métodosencodeToSavedStateedecodeFromSavedState. OSavedStateretornado é umBundlecomum no Android e pode ser usado por qualquer API que aceite umBundle.@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) }Embora a maioria dos tipos (como tipos primitivos) seja compatível diretamente sem necessidade de configuração, outros serializadores que podem ser usados com
@Serializable(with = ___:class)podem ser encontrados no pacoteandroidx.savedstate.serialization.serializersno módulosavedstatee no pacoteandroidx.savedstate.compose.serialization.serializersno módulosavedstate-compose.Também incluímos
saved, um delegado de propriedade lazy, para facilitar o armazenamento de classes@Serializableem umSavedStateRegistryOwner(por exemplo,ComponentActivity,Fragmentetc.) e restaurar automaticamente essas classes em caso de encerramento e recriação do processo. O delegadosavedé lazy e não vai chamar a lambdainitnem salvar nada noSavedStateRegistryaté que ele seja acessado.@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") } }Há um delegado de propriedade
savedsemelhante paraSavedStateHandleadicionado no Lifecycle2.9.0.
Versão 1.3.0-rc01
23 de abril de 2025
Lançamento de androidx.savedstate:savedstate-*:1.3.0-rc01. A versão 1.3.0-rc01 contém estes commits.
Versão 1.3.0-beta01
9 de abril de 2025
Lançamento de androidx.savedstate:savedstate-*:1.3.0-beta01. A versão 1.3.0-beta01 contém estes commits.
Atualizações de dependência
- Essa biblioteca agora é destinada ao nível de linguagem Kotlin 2.0 e exige o KGP 2.0.0 ou mais recente. (Idb6b5).
Versão 1.3.0-alpha11
26 de março de 2025
Lançamento de androidx.savedstate:savedstate-*:1.3.0-alpha11 sem mudanças públicas significativas. A versão 1.3.0-alpha11 contém estes commits.
Versão 1.3.0-alpha10
12 de março de 2025
Lançamento de androidx.savedstate:savedstate-*:1.3.0-alpha10. A versão 1.3.0-alpha10 contém estes commits.
Novos recursos
- Adição de variantes de método não materializadas para coleções
getemSavedStateReader. (I0b641, b/399820614). - Adicione
encodeDefaultsaSavedStateConfiguration, permitindo personalizar se as propriedades com valores padrão devem ser codificadas. (I893cc, b/395104517). - Adicione
SnapshotStateMapSerializerpara oferecer compatibilidade commutableStateMapOf. (Ie6f19, b/378895074) - Adicione
SnapshotStateListSerializerpara oferecer compatibilidade commutableStateListOf. (I4d888, b/378895074) - Adicione métodos alternativos de
getOrNullpara variantes deSavedStateReader.get. Esses métodos vão fazer o boxing automático de valores primitivos. (I6228c, b/399820614).
Mudanças na API
- Remova
getOrElsedeSavedStateReaderem favor degetOrNull() ?: else(). (I87317, b/399820614) - Remova o modificador
inlinedos métodosSavedStateReadereSavedStateWriter. (If2a02, b/399820614) - Remoção dos serializadores de lista e matriz integrados específicos do Android da API pública (Ida293)
- Substituição de
SparseParcelableArraySerializerporSparseArraySerializer(I91de8) - Faça com que todos os
SavedStateReader.getse comportem de maneira consistente gerando uma exceção quando o tipo de valor não corresponde ao tipo de retorno (I78c4a, b/399317598). SavedState*Delegatesfoi renomeado comoSavedState*Delegate. (I8589b, b/399629301)SavedStateConfigfoi renomeado comoSavedStateConfiguration. (I043a5, b/399629301)
Versão 1.3.0-alpha09
26 de fevereiro de 2025
Lançamento de androidx.savedstate:savedstate-*:1.3.0-alpha09. A versão 1.3.0-alpha09 contém estes commits.
Novos recursos
- Adicione um substituto para tipos integrados, garantindo que todos os tipos compatíveis com
Bundlepossam ser usados comencodeAsSavedState/decodeFromSavedStatepor padrão ou, para propriedades em classes@Serializable, pela anotação@Contextual. (Ic01d2). - Inclua suporte para
classDiscriminatoreclassDiscriminatorModeemSavedStateConfig. (I69b66, b/395104517).
Mudanças na API
- Adição do parâmetro
SavedStateConfigaos delegadossaved()(I39b3a) - Transforma serializadores integrados em objetos singleton (Ifeee4).
- As propriedades
SavedStateConfigagora são públicas, permitindo que outros módulos usem essas configurações. (Ie5f49, b/378897438) - Suporte a
@Serializer(with = ...)paraMutableStateFlowSerializereMutableStateSerializer(I90953) - Adição de
contentDeepToStringaSavedStateReader(I14d10).
Versão 1.3.0-alpha08
12 de fevereiro de 2025
Lançamento de androidx.savedstate:savedstate-*:1.3.0-alpha08. A versão 1.3.0-alpha08 contém estes commits.
Novos recursos
- Mova
MutableStateSerializerparasavedstate-composedelifecycle-viewmodel-compose, permitindo que você use as APIs de serialização SavedState com oMutableStatedo Compose. (I4f690, b/378895074)
Mudanças na API
- Adicione uma função de fábrica para criar
SavedStatede umSavedStateexistente. (I39f9a). - Adiciona compatibilidade com
Array<SavedState>eList<SavedState>emandroidx.savedstate. (Idd8a5). - Adição do parâmetro opcional
SavedStateConfigà codificação/decodificação de SavedState (I6c4c0).
Versão 1.3.0-alpha07
29 de janeiro de 2025
Lançamento de androidx.savedstate:savedstate-*:1.3.0-alpha07. A versão 1.3.0-alpha07 contém estes commits.
Novos recursos
- Adicione
MutableStateFlowSerializerpara serializarkotlinx.coroutines.flow.MutableStateFlow. (I6a892, b/378895070).
Mudanças na API
- Substitua as funções delegadas
SavedStateRegistryOwner.saved()sobrecarregadas por parâmetros padrão (Icd1c1). - Tornar
JavaSerializableSerializereParcelableSerializerabstratos (I268f6) - Remoção do
T : CharSequencegenérico deCharSequenceSerializer(Ib40bd).
Versão 1.3.0-alpha06
11 de dezembro de 2024
Lançamento de androidx.savedstate:savedstate-*:1.3.0-alpha06. A versão 1.3.0-alpha06 contém estes commits.
Novos recursos
SavedStateA KMP agora é compatível com:IBinder,Size,SizeF,Array<Parcelable>,SparseArray<Parcelable>e Serializable (Android). (I1ba94, b/334076622).- Adicione instâncias
KSerializerque podem ser usadas para codificar/decodificar tipos Java e Android compatíveis com o Bundle marcando o campo relevante na sua classe com@Serializable(with = ParcelableSerializer::class). (I8c10f, I28caf, b/376026712) - As instâncias
SavedStateRegistryOwnerrecuperadas viafindViewTreeSavedStateRegistryOwneragora podem ser resolvidas por pais disjuntos de uma visualização, como umViewOverlay. Consulte as notas da versão do núcleo ou a documentação emViewTree.setViewTreeDisjointParentpara mais informações sobre pais de visualizações desconexas. (Iccb33).
Mudanças na API
- Deixar a nomenclatura e a organização de pacotes mais consistentes com
SavedStateRegistryOwnerDelegate(I8c135, b/376026744)
Versão 1.3.0-alpha05
13 de novembro de 2024
Lançamento de androidx.savedstate:savedstate-*:1.3.0-alpha05. A versão 1.3.0-alpha05 contém estes commits.
Suporte à serialização do KotlinX (link em inglês)
O
SavedStateagora inclui suporte à serialização do KotlinX. É possível converter uma classe anotada com@Serializableem umSavedStateusando os métodosencodeToSavedStateedecodeFromSavedState. OSavedStateretornado é umBundlecomum no Android e pode ser usado por qualquer API que aceite umBundle. (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) }Também incluímos
saved, um delegado de propriedade lazy, para facilitar o armazenamento de classes@Serializableem umSavedStateRegistryOwner(por exemplo,ComponentActivity,Fragmentetc.) e restaurar automaticamente essas classes em caso de encerramento e recriação do processo. O delegadosavedé lazy e não vai chamar a lambdainitnem salvar nada noSavedStateRegistryaté que ele seja acessado. (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") } }Há um delegado de propriedade
savedsemelhante paraSavedStateHandleadicionado no Lifecycle2.9.0-alpha07.
Mudanças na API
- Adicione
toMapaSavedState, permitindo que qualquerSavedStateseja convertido em umMapregular (cópia superficial). (I487b9, b/334076622). - O KMP
SavedStateagora é compatível com matrizes. (Ic0552, b/334076622).
Versão 1.3.0-alpha04
30 de outubro de 2024
Lançamento de androidx.savedstate:savedstate-*:1.3.0-alpha04. A versão 1.3.0-alpha04 contém estes commits.
Mudanças na API
- A KMP SavedState agora é compatível com Char. (I9ac2f, b/334076622).
- Adição de
putNulleisNullao KMP SavedState. (Iea71d, b/334076622). - Adição de outros parâmetros de fábrica
savedStateque oferecem suporte a umMap<String, Any>inicial (I9b37d, b/334076622) - A KMP SavedState agora é compatível com a comparação
contentDeepEquals. (Ia515c, b/334076622). - A KMP SavedState agora é compatível com Long. (I4c180, b/334076622).
Versão 1.3.0-alpha03
16 de outubro de 2024
Lançamento de androidx.savedstate:savedstate-*:1.3.0-alpha03 sem mudanças importantes. A versão 1.3.0-alpha03 contém estes commits.
Versão 1.3.0-alpha02
2 de outubro de 2024
Lançamento de androidx.savedstate:savedstate-*:1.3.0-alpha02. A versão 1.3.0-alpha02 contém estes commits.
Kotlin Multiplatform
- O módulo
SavedStateagora é compatível com o KMP. As plataformas compatíveis agora incluem ambientes de computador Android, iOS, Linux, Mac e JVM. (I26305, b/334076622).
Novos recursos
- Introduzimos o tipo opaco
SavedStatecomo uma abstração para fornecer uma maneira consistente de salvar e restaurar o estado do aplicativo no KMP. Ele inclui umSavedStateReadere umSavedStateWriterpara modificar o estado a ser salvo. No Android,SavedStateé um alias de tipo paraBundle, garantindo a compatibilidade binária e facilitando a migração de APIs atuais para um conjunto de origem comum. Em outras plataformas,SavedStateé uma instânciaMap<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")
}
Mudanças na API
- Os artefatos
SavedStateRegistryeSavedStateRegistryControlleragora são compatíveis com a KMP. (Id7bb8, b/334076622) SavedState,SavedStateWritereSavedStateReaderagora são compatíveis com o KMP. (I26305, b/334076622).
Versão 1.3.0-alpha01
7 de agosto de 2024
Lançamento de androidx.savedstate:savedstate:1.3.0-alpha01 e androidx.savedstate:savedstate-ktx:1.3.0-alpha01. A versão 1.3.0-alpha01 contém estes commits.
Mudanças na API
- As extensões
savedstate-ktxdo Kotlin foram movidas para o módulo base savedstate. (I1cc18, b/274803094)
Observação
- Atualizar
compileSdkpara 35 (5dc41be)
Versão 1.2.1
Versão 1.2.1
22 de março de 2023
Lançamento de androidx.savedstate:savedstate:1.2.1 e androidx.savedstate:savedstate-ktx:1.2.1. A versão 1.2.1 contém estas confirmações.
Atualizações de dependência
SavedStateagora depende do Lifecycle2.6.1. (c1f621)
Versão 1.2.0
Versão 1.2.0
29 de junho de 2022
Lançamento de androidx.savedstate:savedstate:1.2.0 e androidx.savedstate:savedstate-ktx:1.2.0. A versão 1.2.0 contém estas confirmações.
Mudanças importantes desde a versão 1.1.0
- A classe
SavedStateRegistryControlleragora permite a anexação antecipada doSavedStateRegistrypelo métodoperformAttach(). - Agora você pode extrair um
SavedStateProviderregistrado anteriormente de umSavedStateRegistryusandogetSavedStateProvider(). - A biblioteca
SavedStatefoi reescrita em Kotlin.- Para
SavedStateRegistryOwner, essa é uma mudança incompatível com a fonte das classes escritas em Kotlin. Agora é necessário mudar a propriedadesavedStateRegistryem vez de implementar a funçãogetSavedStateRegistry()anterior. - Para
ViewTreeSavedStateRegistryOwner, essa é uma mudança incompatível com a fonte das classes escritas em Kotlin. Agora é necessário importar e usar diretamente os métodos de extensão Kotlin naViewdeandroidx.savedstate.setViewTreeSavedStateRegistryOwnereandroidx.savedstate.findViewTreeSavedStateRegistryOwnerpara definir e encontrar um proprietário configurado anteriormente. Isso substitui a APIsavedstate-ktxdefindViewTreeSavedStateRegistryOwner.
- Para
Mudanças de comportamento
- A classe
SavedStateRegistrynão salva mais um pacote vazio se não houver um estado a ser salvo.
Versão 1.2.0-rc01
11 de maio de 2022
Lançamento de androidx.savedstate:savedstate:1.2.0-rc01 e androidx.savedstate:savedstate-ktx:1.2.0-rc01. A versão 1.2.0-rc01 contém estas confirmações.
Mudanças na documentação
- Os Kdocs de
SavedStateRegistryOwnerforam atualizados para esclarecer as responsabilidades e o contrato que o proprietário tem sobre como implementar a interface ou quando chamar os métodos na classeSavedStateRegistryController(Iefc95, b/228887344).
Versão 1.2.0-beta01
20 de abril de 2022
Lançamento de androidx.savedstate:savedstate:1.2.0-beta01 e androidx.savedstate:savedstate-ktx:1.2.0-beta01. A versão 1.2.0-beta01 contém estas confirmações.
Mudanças na API
- As classes
SavedStateRegistryeViewTreeSavedStateRegistryOwnerforam reescritas em Kotlin. ParaViewTreeSavedStateRegistryOwner, essa é uma mudança incompatível com a fonte das classes escritas em Kotlin. Agora é necessário importar e usar diretamente os métodos de extensão Kotlin naViewdeandroidx.savedstate.setViewTreeSavedStateRegistryOwnereandroidx.savedstate.findViewTreeSavedStateRegistryOwnerpara definir e encontrar um proprietário configurado anteriormente. Isso substitui a APIsavedstate-ktxdefindViewTreeSavedStateRegistryOwner. Ela é compatível com binários e mantém a compatibilidade com fontes nas implementações escritas na linguagem de programação Java (b/220191285).
Versão 1.2.0-alpha02
6 de abril de 2022
Lançamento de androidx.savedstate:savedstate:1.2.0-alpha02 e androidx.savedstate:savedstate-ktx:1.2.0-alpha02. A versão 1.2.0-alpha02 contém estas confirmações.
Novos recursos
- Agora você pode extrair um
SavedStateProviderregistrado anteriormente de umSavedStateRegistryusandogetSavedStateProvider()(I7ea47, b/215406268).
Mudanças na API
- As classes
SavedStateRegistryOwner,SavedStateRegistryControllereRecreatorforam reescritas em Kotlin. ParaSavedStateRegistryOwner, essa é uma mudança incompatível com a fonte das classes escritas em Kotlin. Agora é necessário mudar a propriedadesavedStateRegistryem vez de implementar a funçãogetSavedStateRegistry()anterior. Ela é compatível com binários e fontes e serve para implementações escritas na linguagem de programação Java (b/220191285).
Versão 1.2.0-alpha01
26 de janeiro de 2022
Lançamento de androidx.savedstate:savedstate:1.2.0-alpha01 e androidx.savedstate:savedstate-ktx:1.2.0-alpha01. A versão 1.2.0-alpha01 contém estas confirmações.
Novos recursos
- A classe
SavedStateRegistryControlleragora permite a anexação antecipada daSavedStateRegistryviaperformAttach()(Ice4bf).
Mudanças de comportamento
- A classe
SavedStateRegistrynão salva mais um pacote vazio se não houver um estado a ser salvo (aosp/1896865, b/203457956).
Versão 1.1.0
Versão 1.1.0
10 de fevereiro de 2021
Lançamento de androidx.savedstate:savedstate:1.1.0 e androidx.savedstate:savedstate-ktx:1.1.0. A versão 1.1.0 contém estas confirmações.
Principais mudanças desde a versão 1.0.0
- API
ViewTreeSavedStateRegistryOwner: uma nova APIViewTreeSavedStateRegistryOwner.get(View)permite que você recupere oSavedStateRegistrycontido de uma instânciaView. Você precisa fazer upgrade para a Activity1.2.0, Fragment1.3.0e AppCompat1.3.0-alpha01ou mais recente para preencher corretamente. - Artefato
savedstate-ktx: o novo artefatosavedstate-ktxfoi adicionado com uma extensão KotlinfindViewTreeSavedStateRegistryOwner()para trabalhar comViewTreeSavedStateRegistryOwner.
Versão 1.1.0-rc01
16 de dezembro de 2020
Lançamento de androidx.savedstate:savedstate:1.1.0-rc01 e androidx.savedstate:savedstate-ktx:1.1.0-rc01, sem mudanças desde a 1.1.0-beta01. A versão 1.1.0-rc01 contém estas confirmações.
Versão 1.1.0-beta01
1º de outubro de 2020
Lançamento de androidx.savedstate:savedstate:1.1.0-beta01 e androidx.savedstate:savedstate-ktx:1.1.0-beta01, sem mudanças desde a 1.1.0-alpha01. A versão 1.1.0-beta01 contém estas confirmações.
Versão 1.1.0-alpha01
20 de maio de 2020
Lançamento de androidx.savedstate:savedstate:1.1.0-alpha01 e androidx.savedstate:savedstate-ktx:1.1.0-alpha01. A versão 1.1.0-alpha01 contém estas confirmações.
Novos recursos
- Uma nova API
ViewTreeSavedStateRegistryOwner.get(View)permite que você extraia oSavedStateRegistrycontido de uma instânciaView. É necessário fazer upgrade para Atividade1.2.0-alpha05, Fragmento1.3.0-alpha05e AppCompat1.3.0-alpha01para preencher corretamente. (aosp/1298679). - O novo artefato
savedstate-ktxfoi adicionado com uma extensão KotlinfindViewTreeSavedStateRegistryOwner()para trabalhar comViewTreeSavedStateRegistryOwner(aosp/1299434, link em inglês).
Versão 1.0.0
Versão 1.0.0
5 de setembro de 2019
Lançamento de androidx.savedstate:savedstate:1.0.0. As confirmações incluídas nesta versão podem ser conferidas neste link.
Principais recursos do SavedState 1.0.0
androidx.savedstate se tornou uma versão estável. Este é um conjunto de APIs que permite aos desenvolvedores conectar componentes de plug-in no processo restore / saveInstanceState. O ponto de entrada principal da API é SavedStateRegistry, que traz uma maneira de recuperar estados salvos anteriormente usando consumeRestoredStateForKey e registrar um callback para registerSavedStateProvider para disponibilizar um estado salvo quando o sistema o solicitar.
Versão 1.0.0-rc01
2 de julho de 2019
Lançamento de androidx.savedstate:savedstate:1.0.0-rc01. As confirmações incluídas nessa versão podem ser encontradas aqui (link em inglês).
Correções de bugs
- Correção de uma regra incorreta do Proguard (b/132655499)
Versão 1.0.0-beta01
7 de maio de 2019
Lançamento de androidx.savedstate:savedstate:1.0.0-beta01. As confirmações incluídas nessa versão podem ser encontradas aqui (link em inglês).
Versão 1.0.0-alpha02
13 de março de 2019
Lançamento de androidx.savedstate:savedstate:1.0.0-alpha02. androidx.savedstate:savedstate combina androidx.savedstate:savedstate-bundle e androidx.savedstate:savedstate-common em um único artefato, porque foi decidido simplificar a infraestrutura do savedstate e remover os genéricos do SavedStateRegistry. Portanto, não é necessário ter módulos diferentes.
A lista completa das confirmações incluídas nesta versão pode ser conferida neste link.
Novos recursos
- Adição de
SavedStateRegistry.runOnNextRecreaction(Class<? extends AutoRecreated> clazz ). A classe determinada será instanciada e o métodoAutoRecreated.onRecreatedserá executado quando o componente proprietário for reiniciado.
Mudanças na API
- Genéricos removidos de
SavedStateRegistry<T>. - AbstractSavedStateRegistry e BundlableSavedStateRegistry foram removidos. Use
SavedStateRegistry. BundleSavedStateRegistryOwnerfoi renomeado comoSavedStateRegistryOwner.
Versão 1.0.0-alpha01
17 de dezembro de 2018
Essa é a primeira versão do SavedState.
Novos recursos
androidx.savedstate é um novo conjunto de APIs alfa que permite que os desenvolvedores façam o plug-in de componentes para o processo restore / saveInstanceState. O ponto de entrada principal da API é SavedStateRegistry<T>, que traz uma maneira de recuperar o savedstate anterior via consumeRestoredStateForKey e registrar um callback para registerSavedStateProvider para disponibilizar um savedstate quando o sistema o solicitar.