Что происходит при разворачивании приложения если оно было уничтожено системой

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

Ответ

При восстановлении уничтоженного системой приложения Android воссоздает Activity через onCreate(), передавая сохраненное состояние (Bundle) из onSaveInstanceState(). Важно:

  • Восстанавливаются только простые данные (примитивы, Parcelable)
  • Не восстанавливаются тяжелые объекты (Bitmap, соединения)
  • onRestoreInstanceState() вызывается после onStart()

Пример:

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    val restoredText = savedInstanceState?.getString("KEY") ?: "Default"
}

override fun onSaveInstanceState(outState: Bundle) {
    outState.putString("KEY", "Important data")
    super.onSaveInstanceState(outState)
}

Для комплексного восстановления используйте ViewModel + SavedStateHandle или локальную БД.