Какой метод активности вызывается при изменении ориентации?

Какой метод жизненного цикла вызывается при изменении ориентации? Мое приложение выполняет метод onResume() или, возможно, перезагружает всю активность, потому что я установил одно логическое значение, чтобы проверить, запускается он или нет. Я читал onConfigurationChanged() когда происходит изменение ориентации, правда? Как справиться с этим?

Solutions Collecting From Web of "Какой метод активности вызывается при изменении ориентации?"

Интересный …

Задание начинается с onResume() , который вы объявляете в своем XML по умолчанию.

И как я нашел из вопроса ответ на переполнение стека:

Изменение ориентации

  • onSaveInstanceState
  • OnPause
  • OnStop
  • OnCreate
  • OnStart
  • onRestoreInstanceState
  • onResume

Переключиться на операцию 2

  • onSaveInstanceState
  • OnPause

Изменение ориентации WHILE IN Activity 2

  • OnStop
  • OnCreate
  • OnStart

Отключение назад НАЗАД ИЗ РАБОТЫ2

  • onResume

Я предполагаю, что поскольку действие 1 скрыто во время вращения, onRestoreInstanceState не вызывается, потому что нет «представления» (т. onRestoreInstanceState Его нельзя увидеть / просмотреть). Кроме того, вполне возможно иметь 2 совершенно разных файла макета для портрета / пейзажа, которые потенциально могут иметь разные элементы пользовательского интерфейса с разными идентификаторами.

В результате я бы сказал, если вы хотите использовать Bundle в onSaveInstanceState для сохранения ваших собственных данных, тогда вам нужно добавить дополнительную логику в свой onCreate (в Activity 1), чтобы обрабатывать ваши собственные данные там (а также делать это Условно в onRestoreInstanceState ).

В частности, вы можете сохранить поле «последней известности», так что onCreate знает, что ему нужно обрабатывать ваши собственные данные, потому что ориентация изменилась, а не полагаться на onRestoreInstanceState .