Ответ
Parcelable — это интерфейс для сериализации объектов, оптимизированный под Android. Он быстрее Serializable, так как избегает накладных расходов на рефлексию и работает с Parcel — буфером данных, который эффективно передаётся между процессами (например, в Intent или Binder).
Пример реализации:
data class User(val id: Int, val name: String) : Parcelable {
constructor(parcel: Parcel) : this(parcel.readInt(), parcel.readString()!!)
override fun writeToParcel(parcel: Parcel, flags: Int) {
parcel.writeInt(id)
parcel.writeString(name)
}
override fun describeContents() = 0
companion object CREATOR : Parcelable.Creator<User> {
override fun createFromParcel(parcel: Parcel) = User(parcel)
override fun newArray(size: Int) = arrayOfNulls<User>(size)
}
}
Используйте Parcelable для передачи сложных объектов между компонентами Android (Activity, Fragment, Service), особенно если важна производительность.