Активность - это единственный экран в Android. Когда вы запускаете или открываете свое приложение для Android, оно будет находиться в различных состояниях, и это называется жизненным циклом активности Android. Приложения Android, а точнее действия Android, проходят несколько этапов от момента первой загрузки до момента закрытия.

Они обрабатываются как «события» внутри вашего кода, когда пользователь каким-либо образом изменяет состояние вашего приложения: запускает его, вращает, отвечает на уведомление или переключается на другую задачу, и они должны иметь возможность продолжать использовать приложение без проблем после такого мероприятие.

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

Чтобы помочь мне объяснить, как работают жизненные циклы действий, я определил обратные вызовы жизненного цикла действий и что вы должны делать в каждом обратном вызове в зависимости от типа приложения, которое вы хотите создать.

Вот иллюстрация упрощенной диаграммы жизненного цикла деятельности.

Обратные вызовы жизненного цикла действий

  1. onCreate: это вызывается при первом запуске действия и поэтому вызывается только один раз в течение жизненного цикла действия. Это действие еще не отображается, и вы не можете взаимодействовать с ним. В этом обратном вызове вы должны:
  • Расширьте пользовательский интерфейс действия, будь то findViewById или привязка данных.
  • Выполняйте любые другие инициализации, которые происходят только один раз за время существования активности.

2. onStart: Это срабатывает, когда действие вот-вот станет видимым. Его можно вызывать несколько раз, когда пользователь уходит от операции, а затем обратно. Примеры того, как пользователь «уходит», - это когда он переходит на главный экран или к новому действию в приложении. На данный момент действие не является интерактивным. В onStart вам следует:

  • Запустите любые датчики, анимацию или другие процедуры, которые должны запускаться, когда активность видна.

3. при перезапуске: он вызывается после остановки вашей деятельности перед началом.

4. onResume: это срабатывает, когда действие находится на переднем плане (действие отображается на экране) или имеет фокус, и пользователь может взаимодействовать с ним. Здесь вам следует:

  • Запустите любые датчики, анимацию или другие процедуры, которые необходимо запустить, когда действие находится в фокусе (действие, с которым в данный момент взаимодействует пользователь).

5. onPause: этот метод вызывается, когда действие теряет фокус и пользователь не может с ним взаимодействовать. Действие может потерять фокус, не исчезнув полностью с экрана (например, при появлении диалогового окна, которое частично скрывает действие). Здесь вам следует:

  • Остановите все датчики, анимацию или другие процедуры, которые не должны запускаться, когда действие не находится в фокусе и частично скрыто.
  • Быстро выполняйте исполнение. Следующее действие не отображается до его завершения.

6. onStop: он вызывается, когда вы больше не видите активность. Здесь вам следует:

  • Остановите любой датчик, анимацию или другие процедуры, которые не должны выполняться, когда активность не отображается на экране.
  • Вы можете использовать это для постоянного (постоянного сохранения) данных.
  • Остановить логику, обновляющую UI (пользовательский интерфейс). Это не должно выполняться, когда действие находится за пределами экрана. Это пустая трата ресурсов.
  • Существуют также ограничения, как только приложение переходит в фоновый режим, то есть когда все действия в вашем приложении находятся в фоновом режиме (когда активность полностью находится за пределами экрана).

7. onDestroy: он вызывается один раз, когда действие полностью уничтожено. Это происходит, когда вы выходите из действия (например, нажимаете кнопку возврата) или вручную вызываете finish (). Это ваш последний шанс очистить ресурсы, связанные с действием. Здесь вам следует:

  • Удалите или освободите все ресурсы, которые связаны с действием и не освобождаются для вас автоматически. Если вы забудете сделать это, это может привести к утечке памяти! Логика, относящаяся к действию или попыткам обновить пользовательский интерфейс после уничтожения действия, может привести к сбою приложения!

Это объясняет, как будут выполняться ваши действия и почему в вашем коде должны присутствовать определенные элементы. Надеюсь, теперь у вас есть немного больше понимания того, как все работает за кулисами и что подразумевается под термином жизненный цикл активности Android.

В следующем посте я рассмотрю фрагменты и их жизненные циклы. Быть в курсе.