Что такое стабильный тип интерфейса

«Что такое стабильный тип интерфейса» — вопрос из категории Kotlin, который задают на 23% собеседований Android Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Стабильный тип интерфейса (Stable Type) в Android - это тип, который может быть безопасно использован в межпроцессном взаимодействии (IPC) и сохраняет свою стабильность между версиями приложения.

Основные характеристики:

  1. Гарантированно сохраняет структуру при обновлениях
  2. Может быть сериализован/десериализован
  3. Подходит для передачи между процессами (AIDL, Intent, SavedState)

Пример стабильного интерфейса:

@Stable
interface StableApi {
    fun getData(): ParcelableData
}

@Parcelize
data class ParcelableData(val id: Int) : Parcelable

Нестабильные типы (например, содержащие callback'и или несериализуемые объекты) могут вызывать проблемы при передаче между компонентами.