Кнопку "Назад" поведение андроида
предположим, у нас есть пустая активность по умолчанию с поведением по умолчанию, запущенная с флагами намерения по умолчанию. Пользователь нажимает кнопку back на устройстве. Активность исчезает... но как на самом деле?
- нажатие кнопки Назад ведет себя так же, как
finish()
? - активность immedietely разрушен (
onDestroy
называется)? - действие гарантированно будет уничтожено, но не immedietely?
- есть ли шанс активности не будет уничтожен, и этот экземпляр будет повторно использован, когда эта деятельность будет запущена в будущем? (так только
onPause
иonStop
->onStart
иonResume
называются?)
Я ищу надежный ответ, поэтому, пожалуйста, не отвечайте, если вы не совсем уверены, что здесь происходит.
5 ответов
http://developer.android.com/training/basics/activity-lifecycle/recreating.html
это глава из официальной документации Android, который отвечает на ваш вопрос. Это подраздел темы Managing the Activity Lifecycle
, который можно прочитать здесь:
http://developer.android.com/training/basics/activity-lifecycle/index.html
определенно стоит прочитать всю главу, чтобы узнать подробности о поведении андроидов. Но подраздел ( первым звеном ) является соответствующей части на этот вопрос.
вы используете должны посмотреть на это попробуй такое
и, пожалуйста, скажите конкретно, что вы хотите сделать с кнопкой Назад для ваших действий по умолчанию ......
при нажатии назад (если не перехватывается чем-либо вроде клавиатуры, фрагмента, активности и т. д.) ОС (возможно, через ActivityManager) попытается показать пользователю предыдущую активность в вашей текущей задаче (опять же, игнорируя задний стек фрагментов).
Если такой активности нет, задача будет завершена, и вы перейдете к предыдущей задаче - главному экрану большую часть времени или какому-либо другому приложению, которое, возможно, запустило ваше приложение.
Вы получаете onDestroy
позвонил скоро (это зависит от того, сколько времени требуется, чтобы начать следующую деятельность, но на хорошем телефоне она должна быть под 100-200ms).
ваш экземпляр activity не будет повторно использоваться после onFinish
. Это происходит до уничтожения действия, поэтому, если вам нужно другое действие того же типа, ОС создаст другой экземпляр.
когда пользователь нажимает клавишу "Назад", текущее действие выскакивает из верхней части стека (действие гарантированно будет уничтожено, но не сразу, может быть, когда системные ресурсы низки) и предыдущее действие возобновляется (предыдущее состояние его пользовательского интерфейса восстанавливается).
какие действия делает кнопка Назад / клавиша назад на Android триггера?
определенно onDestroy()
называется .....Есть несколько сценариев, в которых ваша активность уничтожается из-за нормального поведения приложения, например, когда пользователь нажимает кнопку "Назад" или ваша активность сигнализирует о своем собственном уничтожении, вызывая finish()
.