Ответ
Метод onSaveInstanceState() вызывается перед тем, как система может уничтожить Activity (например, при повороте экрана, выходе из приложения или при нехватке памяти). Он позволяет сохранить временные данные в Bundle, которые затем передаются в onCreate() или onRestoreInstanceState() при восстановлении.
Пример:
override fun onSaveInstanceState(outState: Bundle) {
super.onSaveInstanceState(outState)
outState.putString("KEY_TEXT", editText.text.toString())
}
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
val savedText = savedInstanceState?.getString("KEY_TEXT") ?: ""
editText.setText(savedText)
}
Важно:
- Не сохраняйте тяжелые объекты (например, Bitmap).
- Для постоянного хранения используйте
ViewModelили базу данных. - Не вызывается при явном завершении (например,
finish()).