Жизненный цикл Android-приложения

базовое руководство-программирование-Android-2

Когда вы начинаете программировать на таком языке, как C ++ или Java, первое, чему вас учат, - это основной метод, точка, которую операционная система будет вызывать при запуске нашего приложения.

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

Жизненный цикл Android проходит по такой схеме:

жизненный цикл Android

События жизненного цикла

  1. onCreate (пакет)
    • Представляет момент, когда деятельность создана. Этот метод обычно генерируется мастером при создании нового действия на Android, и именно здесь мы создаем все, что потребуется для этого действия. Если мы ранее сохранили данные активности в объекте Bundle, мы можем использовать их для его регенерации. Обычно мы не используем его.
  2. onStart ()
    • Мероприятие будет продолжено быть на экране, хотя и не обязательно видимым. Если мы приходим с остановки, сначала мы пройдем через onRestart ().
  3. onRestart ()
    • До onStart (), когда мы переходим из вызова onStop ().
  4. onResume ()
    • Мероприятие начнется отвечать на взаимодействие пользователь.
  5. onPause ()
    • Мероприятие будет перестань отвечать взаимодействию с пользователем.
  6. onStop ()
    • Деятельность полностью перешла на задний план.
  7. onDestroy ()
    • деятельность он будет уничтожен и ваши ресурсы высвобождаются.

Когда нам нужно реализовать один из этих методов, мы добавим его к нашей деятельности с помощью этих профилей:

открытый класс MyActivity расширяет активность {protected void onCreate (Bundle savedInstanceState) {super.onCreate (savedInstanceState); ...} защищенная пустота onStart () {super.onStart (); ...} защищенная пустота onRestart () {super.onRestart (); ...} защищенная пустота onResume () {super.onResume (); ...} protected void onPause () {... super.onPause (); } защищенная пустота onStop () {... onStop (); } защищенная пустота onDestroy () {... super.onDestroy (); }}

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

Нам не нужно добавлять все события, те, которые нам не нужны, будут использовать реализацию по умолчанию. Методы, которые мы будем часто использовать - и не рекомендуется трогать другие - это onCreate, onPause и onRestart.

Смысл onCreate ясен: это место, куда мы загружаем необходимые нам ресурсы, представления и все, что нам нужно. Для вывода единственный метод, на котором мы сосредоточимся, - это onPause. Причина, по которой мы избегаем onStop и onDestroy, заключается в том, что мы не можем их контролировать. onPause будет запускаться всякий раз, когда приложение выходит из переднего плана, в то время как два других будут запускаться операционной системой в зависимости от ваших потребностей. Их никогда не могут казнить! Это сделано, чтобы избежать затрат на создание действия снова и снова, если мы перейдем от действия к рабочему столу и наоборот, и операционная система будет освобождать используемые ресурсы только в том случае, если они ей нужны, и ей не нужно посещать все открытые процессы.

Это означает, что мы будем предполагать, что приложение умрет после выполнения onPause, и что оно наше. последний шанс сохранить данные которые нам нужно сохранить, и остановить сервисы, которые мы используем, такие как геолокация. Если мы остановили службы, подходящее место для их перезапуска - onRestart.

Остальные методы нам не нужно будет часто использовать. Обычно он нам может понадобиться, когда мы интегрируем сторонние библиотеки, такие как Facebook или Flurry. В этих случаях нас попросят сопоставить методы нашей деятельности с вашим кодом. Например, чтобы зарегистрировать сеанс Flurry, нам будет предложено запустить сеанс в методе onStart.

Несколько полезных идей

  • Помните, для чего предназначено каждое мероприятие. Вам всегда понадобится onCreate, и довольно часто вам понадобятся onPause и onResume, чтобы остановить и перезапустить наиболее ресурсоемкие службы.
  • Не трогай другие события если вам это явно не нужно.
  • Не доверяйте onStop и onDestroy, они могут никогда не называться. Сохраните все необходимое в onPause.
  • Избегайте использования статических переменных, не являющихся конечными. Приложение все еще может быть загружено, когда вы вернетесь, и они сохранят значения, которые они оставили. Если у вас нет другого выбора, кроме как использовать их, не забудьте сбросить их значения, когда вернетесь на передний план.

Больше информации - Базовое руководство по программированию на Android


Вы заинтересованы в:
Как удалить вирусы на Android
Следуйте за нами в Новостях Google

Оставьте свой комментарий

Ваш электронный адрес не будет опубликован. Обязательные для заполнения поля помечены *

*

*

  1. Ответственный за данные: Блог Actualidad
  2. Назначение данных: контроль спама, управление комментариями.
  3. Легитимация: ваше согласие
  4. Передача данных: данные не будут переданы третьим лицам, кроме как по закону.
  5. Хранение данных: база данных, размещенная в Occentus Networks (ЕС)
  6. Права: в любое время вы можете ограничить, восстановить и удалить свою информацию.