Savedstate
| Update Terbaru | Rilis Stabil | Kandidat Rilis | Rilis Beta | Rilis Alfa |
|---|---|---|---|---|
| 22 Oktober 2025 | 1.3.3 | 1.4.0-rc01 | - | - |
Mendeklarasikan dependensi
Untuk menambahkan dependensi pada SavedState, Anda harus menambahkan repositori Maven Google ke project Anda. Baca repositori Maven Google untuk informasi selengkapnya.
Tambahkan dependensi untuk artefak yang diperlukan dalam file build.gradle bagi aplikasi atau modul Anda:
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") }
Untuk informasi dependensi selengkapnya, lihat Menambahkan dependensi build.
Masukan
Masukan Anda membantu meningkatkan kualitas Jetpack. Beri tahu kami jika Anda menemukan masalah baru atau mempunyai masukan untuk meningkatkan kualitas library ini. Harap periksa masalah yang sudah diketahui dalam library ini sebelum membuat laporan baru. Anda dapat memberikan suara untuk masalah yang sudah diketahui dengan mengklik tombol bintang.
Lihat dokumentasi Issue Tracker untuk informasi selengkapnya.
Versi 1.4
Versi 1.4.0-rc01
22 Oktober 2025
androidx.savedstate:savedstate-*:1.4.0-rc01 dirilis tanpa perubahan sejak versi 1.4.0-beta01. Versi 1.4.0-rc01 berisi commit ini.
Versi 1.4.0-beta01
8 Oktober 2025
androidx.savedstate:savedstate-*:1.4.0-beta01 dirilis tanpa perubahan penting sejak versi alfa terakhir. Versi 1.4.0-beta01 berisi commit ini.
Versi 1.4.0-alpha03
27 Agustus 2025
androidx.savedstate:savedstate-*:1.4.0-alpha03 dirilis. Versi 1.4.0-alpha03 berisi commit ini.
Perubahan API
- Menambahkan dukungan untuk jenis nullable di
encodeToSavedStatedandecodeFromSavedState. (I79062, b/439527454) - Update Compose ke 1.9.0. (I2b9de)
Versi 1.4.0-alpha02
13 Agustus 2025
androidx.savedstate:savedstate-*:1.4.0-alpha02 dirilis. Versi 1.4.0-alpha02 berisi commit ini.
Versi 1.4.0-alpha01
30 Juli 2025
androidx.savedstate:savedstate-*:1.4.0-alpha01 dirilis. Versi 1.4.0-alpha01 berisi commit ini.
Perubahan API
- Menambahkan dukungan native untuk jenis nullable di
SavedStateRegistryOwner.saved, sehingga menyederhanakan penyimpanan dan pemulihan properti nullable. (Ia632, b/421325690)
Versi 1.3
Versi 1.3.3
17 September 2025
androidx.savedstate:savedstate-*:1.3.3 dirilis. Versi 1.3.3 berisi commit ini.
Perbaikan Bug
- Memperbaiki error terkait plugin Compose Compiler yang tidak diterapkan sehingga menyebabkan artefak KMP
SavedStaterusak. (Id2290, b/443965665)
Versi 1.3.2
27 Agustus 2025
androidx.savedstate:savedstate-*:1.3.2 dirilis. Versi 1.3.2 berisi commit ini.
Fitur Baru
- Menambahkan target Multiplatform Kotlin (KMP) baru ke artefak SavedState
*-compose. Lifecycle kini mendukung total platform berikut: JVM (Android dan Desktop), Native (Linux, iOS, watchOS, macOS, MinGW), dan Web (JavaScript, WasmJS). (/Idcf26)
Versi 1.3.1
16 Juli 2025
androidx.savedstate:savedstate-*:1.3.1 dirilis. Versi 1.3.1 berisi commit ini.
Perbaikan Bug
- Tambahkan semua target KMP yang didukung oleh anotasi ke artefak
SavedState. - Menambahkan target Multiplatform Kotlin (KMP) baru ke artefak
SavedState.SavedStatekini mendukung total platform berikut: JVM (Android dan Desktop), Native (Linux, iOS, watchOS, macOS, MinGW), dan Web (JavaScript, WasmJS). Perhatikan bahwa tidak ada target KMP baru yang ditambahkan ke artefak*-compose, karena hal ini bergantung pada rilis stabil Compose 1.9. (I062f4).
Versi 1.3.0
7 Mei 2025
androidx.savedstate:savedstate-*:1.3.0 dirilis. Versi 1.3.0 berisi commit ini.
Perubahan penting sejak versi 1.2.0
LocalSavedStateRegistryOwnertelah dipindahkan dari UI Compose ke modulsavedstate-composebaru sehingga API pembantu berbasis Compose-nya dapat digunakan di luar UI Compose. Hal ini harus selalu digunakan saat menggunakan Compose UI1.9.0-alpha02dan yang lebih tinggi, tetapi kompatibel mundur sehingga dapat digunakan dengan semua versi Compose.- Ekstensi kotlin
savedstate-ktxkini telah dipindahkan ke modul savedstate dasar. - Instance
SavedStateRegistryOwneryang diambil melaluifindViewTreeSavedStateRegistryOwnerkini dapat diselesaikan melalui induk yang tidak terkait dari tampilan, sepertiViewOverlay. Lihat catatan rilis core atau dokumentasi diViewTree.setViewTreeDisjointParentuntuk mengetahui informasi selengkapnya tentang induk tampilan terpisah.
Multiplatform Kotlin
- Modul
SavedStatekini kompatibel dengan KMP. Platform yang didukung kini mencakup lingkungan desktop Android, iOS, Linux, Mac, dan JVM. Memperkenalkan jenis buram
SavedStatesebagai abstraksi untuk memberikan cara yang konsisten dalam menyimpan dan memulihkan status aplikasi di KMP. Ini mencakupSavedStateReaderdanSavedStateWriteruntuk mengubah status yang akan disimpan. Di Android,SavedStateadalah alias jenis untukBundle, yang memastikan kompatibilitas biner dan memfasilitasi migrasi API yang ada ke set sumber umum. Di platform lain,SavedStateadalah instanceMap<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") }
Dukungan Serialisasi KotlinX
SavedStatekini mencakup dukungan Serialisasi KotlinX. Anda dapat mengonversi class yang diberi anotasi@SerializablemenjadiSavedStatemenggunakan metodeencodeToSavedStatedandecodeFromSavedState.SavedStateyang ditampilkan adalahBundlereguler di Android dan dapat digunakan oleh API apa pun yang menerimaBundle.@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) }Meskipun sebagian besar jenis (seperti jenis primitif) didukung secara langsung tanpa memerlukan konfigurasi apa pun, serializer tambahan yang dapat digunakan dengan
@Serializable(with = ___:class)dapat ditemukan di paketandroidx.savedstate.serialization.serializersdalam modulsavedstatedan paketandroidx.savedstate.compose.serialization.serializersdalam modulsavedstate-compose.Kami juga telah menyertakan
saved, delegasi properti lambat, untuk mempermudah penyimpanan class@SerializabledalamSavedStateRegistryOwner(misalnya,ComponentActivity,Fragment, dll.) dan memulihkan class tersebut secara otomatis di seluruh proses penghentian dan pembuatan ulang. Perhatikan bahwa delegasisavedbersifat lazy dan tidak akan memanggil lambdainitatau menyimpan apa pun keSavedStateRegistryhingga diakses.@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") } }Ada delegasi properti
savedserupa untukSavedStateHandleyang ditambahkan di Lifecycle2.9.0.
Versi 1.3.0-rc01
23 April 2025
androidx.savedstate:savedstate-*:1.3.0-rc01 dirilis. Versi 1.3.0-rc01 berisi commit ini.
Versi 1.3.0-beta01
9 April 2025
androidx.savedstate:savedstate-*:1.3.0-beta01 dirilis. Versi 1.3.0-beta01 berisi commit ini.
Update Dependensi
- Library ini kini menargetkan tingkat bahasa Kotlin 2.0 dan memerlukan KGP 2.0.0 atau yang lebih baru. (Idb6b5)
Versi 1.3.0-alpha11
26 Maret 2025
androidx.savedstate:savedstate-*:1.3.0-alpha11 dirilis tanpa perubahan publik penting. Versi 1.3.0-alpha11 berisi commit ini.
Versi 1.3.0-alpha10
12 Maret 2025
androidx.savedstate:savedstate-*:1.3.0-alpha10 dirilis. Versi 1.3.0-alpha10 berisi commit ini.
Fitur Baru
- Menambahkan varian metode yang tidak di-reifikasi untuk koleksi
getdiSavedStateReader. (I0b641, b/399820614) - Tambahkan
encodeDefaultskeSavedStateConfiguration, yang memungkinkan penyesuaian apakah properti dengan nilai default harus dienkode. (I893cc, b/395104517) - Menambahkan
SnapshotStateMapSerializeruntuk mendukungmutableStateMapOf. (Ie6f19, b/378895074) - Menambahkan
SnapshotStateListSerializeruntuk mendukungmutableStateListOf. (I4d888, b/378895074) - Menambahkan metode alternatif
getOrNulluntuk varianSavedStateReader.get. Metode ini akan meng-box nilai primitif secara otomatis. (I6228c, b/399820614)
Perubahan API
- Menghapus
getOrElsedariSavedStateReaderdan menggantinya dengangetOrNull() ?: else(). (I87317, b/399820614) - Menghapus pengubah
inlinedari metodeSavedStateReaderdanSavedStateWriter. (If2a02, b/399820614) - Menghapus serializer List dan Array bawaan khusus Android dari API publik (Ida293)
- Mengganti
SparseParcelableArraySerializerdenganSparseArraySerializer(I91de8) - Membuat semua
SavedStateReader.getberperilaku secara konsisten dengan memunculkan pengecualian saat jenis nilai tidak cocok dengan jenis pengembalian (I78c4a, b/399317598) - Mengganti nama
SavedState*DelegatesmenjadiSavedState*Delegate. (I8589b, b/399629301) - Mengganti nama
SavedStateConfigmenjadiSavedStateConfiguration. (I043a5, b/399629301)
Versi 1.3.0-alpha09
26 Februari 2025
androidx.savedstate:savedstate-*:1.3.0-alpha09 dirilis. Versi 1.3.0-alpha09 berisi commit ini.
Fitur Baru
- Menambahkan penggantian untuk jenis bawaan, memastikan bahwa semua jenis yang didukung oleh
Bundledapat digunakan denganencodeAsSavedState/decodeFromSavedStatesecara default atau, untuk properti di class@Serializable, melalui anotasi@Contextual. (Ic01d2) - Menyertakan dukungan untuk
classDiscriminatordanclassDiscriminatorModediSavedStateConfig. (I69b66, b/395104517)
Perubahan API
- Menambahkan parameter
SavedStateConfigke delegasisaved()(I39b3a) - Membuat objek singleton serializer bawaan (Ifeee4)
- Properti
SavedStateConfigkini bersifat publik, sehingga modul lain dapat menggunakan konfigurasi ini. (Ie5f49, b/378897438) - Mendukung
@Serializer(with = ...)untukMutableStateFlowSerializerdanMutableStateSerializer(I90953) - Menambahkan
contentDeepToStringkeSavedStateReader(I14d10)
Versi 1.3.0-alpha08
12 Februari 2025
androidx.savedstate:savedstate-*:1.3.0-alpha08 dirilis. Versi 1.3.0-alpha08 berisi commit ini.
Fitur Baru
- Pindahkan
MutableStateSerializerkesavedstate-composedarilifecycle-viewmodel-compose, sehingga Anda dapat menggunakan SavedState Serialization API denganMutableStateCompose. (I4f690, b/378895074)
Perubahan API
- Tambahkan fungsi factory untuk membuat
SavedStatedariSavedStateyang ada. (I39f9a) - Menambahkan dukungan untuk
Array<SavedState>danList<SavedState>diandroidx.savedstate. (Idd8a5) - Menambahkan parameter opsional
SavedStateConfigke encoding/decoding SavedState (I6c4c0)
Versi 1.3.0-alpha07
29 Januari 2025
androidx.savedstate:savedstate-*:1.3.0-alpha07 dirilis. Versi 1.3.0-alpha07 berisi commit ini.
Fitur Baru
- Tambahkan
MutableStateFlowSerializeruntuk menyerialkankotlinx.coroutines.flow.MutableStateFlow. (I6a892, b/378895070)
Perubahan API
- Mengganti fungsi delegasi
SavedStateRegistryOwner.saved()yang di-overload dengan parameter default (Icd1c1) - Menjadikan
JavaSerializableSerializerdanParcelableSerializerabstrak (I268f6) - Menghapus
T : CharSequencegenerik dariCharSequenceSerializer(Ib40bd)
Versi 1.3.0-alpha06
11 Desember 2024
androidx.savedstate:savedstate-*:1.3.0-alpha06 dirilis. Versi 1.3.0-alpha06 berisi commit ini.
Fitur Baru
SavedStateKMP kini mendukung:IBinder,Size,SizeF,Array<Parcelable>,SparseArray<Parcelable>, dan Serializable (Android). (I1ba94, b/334076622)- Tambahkan instance
KSerializeryang dapat digunakan untuk mengenkode/mendekode jenis Java dan Android yang didukung oleh Bundle dengan menandai kolom yang relevan di class Anda dengan@Serializable(with = ParcelableSerializer::class). (I8c10f, I28caf, b/376026712) - Instance
SavedStateRegistryOwneryang diambil melaluifindViewTreeSavedStateRegistryOwnerkini dapat diselesaikan melalui induk yang tidak terkait dari tampilan, sepertiViewOverlay. Lihat catatan rilis core atau dokumentasi diViewTree.setViewTreeDisjointParentuntuk mengetahui informasi selengkapnya tentang induk tampilan terpisah. (Iccb33)
Perubahan API
- Membuat penamaan dan organisasi paket lebih konsisten dengan
SavedStateRegistryOwnerDelegate(I8c135, b/376026744)
Versi 1.3.0-alpha05
13 November 2024
androidx.savedstate:savedstate-*:1.3.0-alpha05 dirilis. Versi 1.3.0-alpha05 berisi commit ini.
Dukungan Serialisasi KotlinX
SavedStatekini mencakup dukungan Serialisasi KotlinX. Anda dapat mengonversi class yang diberi anotasi@SerializablemenjadiSavedStatemenggunakan metodeencodeToSavedStatedandecodeFromSavedState.SavedStateyang ditampilkan adalahBundlereguler di Android dan dapat digunakan oleh API apa pun yang menerimaBundle. (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) }Kami juga telah menyertakan
saved, delegasi properti lambat, untuk mempermudah penyimpanan class@SerializabledalamSavedStateRegistryOwner(misalnya,ComponentActivity,Fragment, dll.) dan memulihkan class tersebut secara otomatis di seluruh proses penghentian dan pembuatan ulang. Perhatikan bahwa delegasisavedbersifat lazy dan tidak akan memanggil lambdainitatau menyimpan apa pun keSavedStateRegistryhingga diakses. (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") } }Ada delegasi properti
savedserupa untukSavedStateHandleyang ditambahkan di Lifecycle2.9.0-alpha07.
Perubahan API
- Tambahkan
toMapkeSavedState, sehingga memungkinkanSavedStatedikonversi menjadiMapreguler (salinan dangkal). (I487b9, b/334076622) - KMP
SavedStatekini mendukung array. (Ic0552, b/334076622)
Versi 1.3.0-alpha04
30 Oktober 2024
androidx.savedstate:savedstate-*:1.3.0-alpha04 dirilis. Versi 1.3.0-alpha04 berisi commit ini.
Perubahan API
- SavedState KMP kini mendukung Char. (I9ac2f, b/334076622)
- Menambahkan
putNulldanisNullke SavedState KMP. (Iea71d, b/334076622) - Menambahkan parameter factory
savedStatetambahan yang mendukungMap<String, Any>awal (I9b37d, b/334076622) - KMP SavedState kini mendukung perbandingan
contentDeepEquals. (Ia515c, b/334076622) - KMP SavedState kini mendukung Long. (I4c180, b/334076622)
Versi 1.3.0-alpha03
16 Oktober 2024
androidx.savedstate:savedstate-*:1.3.0-alpha03 dirilis tanpa perubahan penting. Versi 1.3.0-alpha03 berisi commit ini.
Versi 1.3.0-alpha02
2 Oktober 2024
androidx.savedstate:savedstate-*:1.3.0-alpha02 dirilis. Versi 1.3.0-alpha02 berisi commit ini.
Multiplatform Kotlin
- Modul
SavedStatekini kompatibel dengan KMP. Platform yang didukung kini mencakup lingkungan desktop Android, iOS, Linux, Mac, dan JVM. (I26305, b/334076622)
Fitur Baru
- Memperkenalkan jenis buram
SavedStatesebagai abstraksi untuk memberikan cara yang konsisten dalam menyimpan dan memulihkan status aplikasi di KMP. Ini mencakupSavedStateReaderdanSavedStateWriteruntuk mengubah status yang akan disimpan. Di Android,SavedStateadalah alias jenis untukBundle, yang memastikan kompatibilitas biner dan memfasilitasi migrasi API yang ada ke set sumber umum. Di platform lain,SavedStateadalah instanceMap<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")
}
Perubahan API
SavedStateRegistrydanSavedStateRegistryControllerkini kompatibel dengan KMP. (Id7bb8, b/334076622)SavedState,SavedStateWriter, danSavedStateReaderkini kompatibel dengan KMP. (I26305, b/334076622)
Versi 1.3.0-alpha01
7 Agustus 2024
androidx.savedstate:savedstate:1.3.0-alpha01 dan androidx.savedstate:savedstate-ktx:1.3.0-alpha01 dirilis. Versi 1.3.0-alpha01 berisi commit ini.
Perubahan API
- Ekstensi kotlin
savedstate-ktxkini telah dipindahkan ke modul savedstate dasar. (I1cc18, b/274803094)
Catatan
- Perbarui
compileSdkmenjadi 35 (5dc41be)
Versi 1.2.1
Versi 1.2.1
22 Maret 2023
androidx.savedstate:savedstate:1.2.1 dan androidx.savedstate:savedstate-ktx:1.2.1 dirilis. Versi 1.2.1 berisi commit ini.
Update Dependensi
SavedStatekini bergantung pada Lifecycle2.6.1. (c1f621)
Versi 1.2.0
Versi 1.2.0
29 Juni 2022
androidx.savedstate:savedstate:1.2.0 dan androidx.savedstate:savedstate-ktx:1.2.0 dirilis. Versi 1.2.0 berisi commit ini.
Perubahan penting sejak 1.1.0
SavedStateRegistryControllersekarang memungkinkan lampiranSavedStateRegistryawal melaluiperformAttach().- Anda kini dapat mengambil
SavedStateProvideryang sebelumnya terdaftar dariSavedStateRegistrymelaluigetSavedStateProvider(). - Library
SavedStatetelah ditulis ulang di Kotlin.- Untuk
SavedStateRegistryOwner, ini adalah perubahan sumber yang tidak kompatibel untuk class tersebut yang ditulis di Kotlin - Anda sekarang harus mengganti propertisavedStateRegistry, bukan mengimplementasikan fungsigetSavedStateRegistry()sebelumnya. - Untuk
ViewTreeSavedStateRegistryOwner, ini adalah perubahan yang tidak kompatibel dengan sumber untuk class tersebut yang ditulis di Kotlin - Anda sekarang harus secara langsung mengimpor dan menggunakan metode ekstensi Kotlin diViewdariandroidx.savedstate.setViewTreeSavedStateRegistryOwnerdanandroidx.savedstate.findViewTreeSavedStateRegistryOwneruntuk menetapkan dan menemukan pemilik yang ditetapkan sebelumnya. Ini menggantikan APIsavedstate-ktxdarifindViewTreeSavedStateRegistryOwner.
- Untuk
Perubahan Perilaku
SavedStateRegistrytidak lagi menyimpan Paket kosong jika tidak ada status yang akan disimpan.
Versi 1.2.0-rc01
11 Mei 2022
androidx.savedstate:savedstate:1.2.0-rc01 dan androidx.savedstate:savedstate-ktx:1.2.0-rc01 dirilis. Versi 1.2.0-rc01 berisi commit ini.
Perubahan Dokumentasi
- Kdocs
SavedStateRegistryOwnertelah diupdate untuk memperjelas tanggung jawab dan kontrak yang dimiliki pemilik terkait cara menerapkan antarmuka atau kapan mereka harus memanggil metode diSavedStateRegistryController. (Iefc95, b/228887344)
Versi 1.2.0-beta01
20 April 2022
androidx.savedstate:savedstate:1.2.0-beta01 dan androidx.savedstate:savedstate-ktx:1.2.0-beta01 dirilis. Versi 1.2.0-beta01 berisi commit ini.
Perubahan API
- Class
SavedStateRegistrydanViewTreeSavedStateRegistryOwnertelah ditulis ulang dalam Kotlin. UntukViewTreeSavedStateRegistryOwner, ini adalah perubahan yang tidak kompatibel dengan sumber untuk class tersebut yang ditulis di Kotlin - Anda sekarang harus secara langsung mengimpor dan menggunakan metode ekstensi Kotlin diViewdariandroidx.savedstate.setViewTreeSavedStateRegistryOwnerdanandroidx.savedstate.findViewTreeSavedStateRegistryOwneruntuk menetapkan dan menemukan pemilik yang ditetapkan sebelumnya. Ini menggantikan APIsavedstate-ktxdarifindViewTreeSavedStateRegistryOwner. Ini kompatibel dengan biner dan tetap kompatibel dengan sumber untuk implementasi yang ditulis dalam bahasa pemrograman Java. (b/220191285)
Versi 1.2.0-alpha02
6 April 2022
androidx.savedstate:savedstate:1.2.0-alpha02 dan androidx.savedstate:savedstate-ktx:1.2.0-alpha02 dirilis. Versi 1.2.0-alpha02 berisi commit ini.
Fitur Baru
- Anda kini dapat mengambil
SavedStateProvideryang sebelumnya terdaftar dariSavedStateRegistrymelaluigetSavedStateProvider(). (I7ea47, b/215406268)
Perubahan API
- Class
SavedStateRegistryOwner,SavedStateRegistryController, danRecreatortelah ditulis ulang dalam Kotlin. UntukSavedStateRegistryOwner, ini adalah perubahan sumber yang tidak kompatibel untuk class tersebut yang ditulis di Kotlin - Anda sekarang harus mengganti propertisavedStateRegistry, bukan mengimplementasikan fungsigetSavedStateRegistry()sebelumnya. Ini kompatibel dengan biner dan kompatibel dengan sumber untuk implementasi yang ditulis dalam bahasa pemrograman Java. (b/220191285)
Versi 1.2.0-alpha01
26 Januari 2022
androidx.savedstate:savedstate:1.2.0-alpha01 dan androidx.savedstate:savedstate-ktx:1.2.0-alpha01 dirilis. Versi 1.2.0-alpha01 berisi commit ini.
Fitur Baru
SavedStateRegistryControllersekarang memungkinkan lampiranSavedStateRegistryawal melaluiperformAttach(). (Ice4bf)
Perubahan Perilaku
SavedStateRegistrytidak lagi menyimpan Paket kosong jika tidak ada status yang akan disimpan. (aosp/1896865, b/203457956)
Versi 1.1.0
Versi 1.1.0
10 Februari 2021
androidx.savedstate:savedstate:1.1.0 dan androidx.savedstate:savedstate-ktx:1.1.0 dirilis. Versi 1.1.0 berisi commit ini.
Perubahan utama sejak versi 1.0.0
ViewTreeSavedStateRegistryOwnerAPI:ViewTreeSavedStateRegistryOwner.get(View)API yang baru memungkinkan Anda mengambil instanceViewyang berisiSavedStateRegistry. Anda harus melakukan upgrade ke Activity1.2.0, Fragment1.3.0, dan AppCompat1.3.0-alpha01atau yang lebih tinggi untuk mengisi ini dengan benar.- Artefak
savedstate-ktx: Artefaksavedstate-ktxbaru telah ditambahkan dengan ekstensi KotlinfindViewTreeSavedStateRegistryOwner()untuk digunakan denganViewTreeSavedStateRegistryOwner.
Versi 1.1.0-rc01
16 Desember 2020
androidx.savedstate:savedstate:1.1.0-rc01 dan androidx.savedstate:savedstate-ktx:1.1.0-rc01 dirilis tanpa perubahan sejak 1.1.0-beta01. Versi 1.1.0-rc01 berisi commit ini.
Versi 1.1.0-beta01
1 Oktober 2020
androidx.savedstate:savedstate:1.1.0-beta01 dan androidx.savedstate:savedstate-ktx:1.1.0-beta01 dirilis tanpa perubahan sejak 1.1.0-alpha01. Versi 1.1.0-beta01 berisi commit ini.
Versi 1.1.0-alpha01
20 Mei 2020
androidx.savedstate:savedstate:1.1.0-alpha01 dan androidx.savedstate:savedstate-ktx:1.1.0-alpha01 dirilis. Versi 1.1.0-alpha01 berisi commit ini.
Fitur Baru
ViewTreeSavedStateRegistryOwner.get(View)API yang baru memungkinkan Anda mengambil instanceViewberisiSavedStateRegistry. Anda harus melakukan upgrade ke Activity1.2.0-alpha05, Fragment1.3.0-alpha05, dan AppCompat1.3.0-alpha01untuk mengisi ini dengan benar. (aosp/1298679)- Artefak
savedstate-ktxbaru telah ditambahkan dengan ekstensi KotlinfindViewTreeSavedStateRegistryOwner()untuk digunakan denganViewTreeSavedStateRegistryOwner. (aosp/1299434)
Versi 1.0.0
Versi 1.0.0
5 September 2019
androidx.savedstate:savedstate:1.0.0 dirilis. Commit yang disertakan dalam versi ini dapat dilihat di sini.
Fitur utama SavedState 1.0.0
androidx.savedstate lulus ke rilis stabil. Ini adalah sekumpulan API yang memungkinkan developer memasukkan komponen ke proses restore/saveInstanceState. Titik masuk utama API ini adalah SavedStateRegistry, yang menyediakan cara untuk mengambil status yang telah disimpan sebelumnya menggunakan consumeRestoredStateForKey dan mendaftarkan callback ke registerSavedStateProvider untuk memberikan status tersimpan saat sistem memintanya.
Versi 1.0.0-rc01
2 Juli 2019
androidx.savedstate:savedstate:1.0.0-rc01 dirilis. Commit yang disertakan dalam versi ini dapat dilihat di sini.
Perbaikan bug
- Memperbaiki aturan proguard yang salah. (b/132655499)
Versi 1.0.0-beta01
7 Mei 2019
androidx.savedstate:savedstate:1.0.0-beta01 dirilis. Commit yang disertakan dalam versi ini dapat dilihat di sini.
Versi 1.0.0-alpha02
13 Maret 2019
androidx.savedstate:savedstate:1.0.0-alpha02 dirilis. androidx.savedstate:savedstate menggabungkan artefak androidx.savedstate:savedstate-bundle dan androidx.savedstate:savedstate-common menjadi satu artefak, karena perlunya menyederhanakan infrastruktur savedstate dan menghapus generik dari SavedStateRegistry. Dengan demikian, modul terpisah tidak diperlukan.
Daftar lengkap commit yang disertakan dalam versi ini dapat ditemukan di sini.
Fitur baru
SavedStateRegistry.runOnNextRecreaction(Class<? extends AutoRecreated> clazz )ditambahkan. Instance class yang ditentukan akan dibuat dan metodeAutoRecreated.onRecreatedakan dijalankan saat komponen yang memilikinya dimulai ulang.
Perubahan API
- Generik dihapus dari
SavedStateRegistry<T> - AbstractSavedStateRegistry & BundlableSavedStateRegistry dihapus, sebagai gantinya, gunakan
SavedStateRegistrysederhana BundleSavedStateRegistryOwnerdiganti nama menjadiSavedStateRegistryOwner
Versi 1.0.0-alpha01
17 Desember 2018
Ini adalah rilis pertama SavedState.
Fitur baru
androidx.savedstate adalah sekumpulan API alfa baru yang memungkinkan developer memasukkan komponen ke proses restore/saveInstanceState. Titik masuk utama API ini adalah SavedStateRegistry<T>, yang menyediakan cara untuk mengambil savedstate sebelumnya menggunakan consumeRestoredStateForKey dan mendaftarkan callback ke registerSavedStateProvider untuk memberikan savedstate saat sistem memintanya.