# SavedStateSerializer

Artifact: [androidx.savedstate:savedstate](https://developer.android.com/jetpack/androidx/releases/savedstate) [View Source](https://cs.android.com/search?q=file:androidx/savedstate/serialization/serializers/SavedStateSerializer.kt+class:androidx.savedstate.serialization.serializers.SavedStateSerializer) Added in [1.3.0](https://developer.android.com/jetpack/androidx/releases/savedstate#1.3.0)

*** ** * ** ***

Common/AllAndroid/JVM
- Cmn

  ```
  object SavedStateSerializer : KSerializer<SavedState>
  ```

*** ** * ** ***

A serializer for `https://developer.android.com/reference/kotlin/androidx/savedstate/SavedState`.

This serializer operates in two modes:

1. **Optimized (Direct):** When used with `https://developer.android.com/reference/kotlin/androidx/savedstate/serialization/SavedStateEncoder`/`https://developer.android.com/reference/kotlin/androidx/savedstate/serialization/SavedStateDecoder`, it writes directly to the underlying Bundle, bypassing intermediate object allocation.

2. **Fallback (Wrapped):** When used with generic encoders (e.g. JSON), it converts the loosely-typed SavedState into strictly-typed wrapper classes to preserve type fidelity.

## Summary

| ### Public functions |
|---|---|---|
| `open https://developer.android.com/reference/kotlin/androidx/savedstate/SavedState` | `https://developer.android.com/reference/kotlin/androidx/savedstate/serialization/serializers/SavedStateSerializer#deserialize(kotlinx.serialization.encoding.Decoder)(decoder: https://kotlinlang.org/api/kotlinx.serialization/kotlinx-serialization-core/kotlinx.serialization.encoding/-decoder/index.html)` | Cmn |
| `open https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `https://developer.android.com/reference/kotlin/androidx/savedstate/serialization/serializers/SavedStateSerializer#serialize(kotlinx.serialization.encoding.Encoder,androidx.savedstate.SavedState)(encoder: https://kotlinlang.org/api/kotlinx.serialization/kotlinx-serialization-core/kotlinx.serialization.encoding/-encoder/index.html, value: https://developer.android.com/reference/kotlin/androidx/savedstate/SavedState)` | Cmn |

| ### Public properties |
|---|---|---|
| `open https://kotlinlang.org/api/kotlinx.serialization/kotlinx-serialization-core/kotlinx.serialization.descriptors/-serial-descriptor/index.html` | `https://developer.android.com/reference/kotlin/androidx/savedstate/serialization/serializers/SavedStateSerializer#descriptor()` | Cmn |

## Public functions

### deserialize

Cmn Added in [1.3.0](https://developer.android.com/jetpack/androidx/releases/savedstate#1.3.0)

```
open fun deserialize(decoder: Decoder): SavedState
```

### serialize

Cmn

```
open fun serialize(encoder: Encoder, value: SavedState): Unit
```

## Public properties

### descriptor

Cmn Added in [1.3.0](https://developer.android.com/jetpack/androidx/releases/savedstate#1.3.0)

```
open val descriptor: SerialDescriptor
```