Что делать при повороте экрана в Android
При смене ориентации приложения Activity уничтожается и создается заново. Удаляются, соответственно, и все объекты. Вызываются коллбэки в составе жизненного цикла onPause(), onStop(), onSaveInstanceState(), onDestroy() – onCreate(), onStart(), onRestoreInstanceState(), onResume().
Чтобы сохранить созданные в активити объекты и данные, необходимо реализовать пару методов: первый позволяет сохранить данные – onSaveInstanceState(), а второй восстановить – onRestoreInstanceState().
Для сохранения данных переопределяется onSaveInstanceState() и данные упаковываются в объект типа Bundle.
При реинициализации активити, Bundle с сохраненным состоянием передается в onCreate() и в onRestoreInstanceState().
Система вызывает onSaveInstanceState() и onRestoreInstanceState() только в том случае, когда необходимо сохранить состояние, например при повороте экрана или в случае уничтожении Activity при нехватке памяти. Данные коллбэки не вызываются, если пользователь выходит из активити нажав Back или если активити убивается вызовом finish().
Вызов метода onSaveInstanceState() зависит от версии API. До API 28 метод вызывается до onStop(), а начиная API 28 после onStop(). onRestoreInstanceState() вызывается после onStart().
Peer-to-peer собеседования
AI Sprints — обучение профессиям с ИИ
Практика собеседований с менторами и другими студентами. Реальные вопросы по Kotlin, Android и Backend
- Живые собеседования: практикуйте интервью с менторами и коллегами-студентами
- Реальные вопросы: база вопросов по Kotlin, Android, Backend и QA
- Фидбек: обратная связь после каждого собеседования — знаете, что улучшить
AI Challenge — собери чат-бота за 5 дней
Бесплатный марафон по AI-инжинирингу. Cursor + OpenAI, 60 минут в день — без опыта в программировании. К пятнице у вас будет рабочий чат-бот с памятью в браузере.
- Практика с первого дня, без теории «в стол»
- Готовый проект в портфолио к концу недели
- Старт в любой день — учитесь в своём темпе