Жизненный цикл объекта приложения Android - PullRequest
9 голосов
/ 05 мая 2011

Я не могу найти жизненный цикл объекта приложения (продлить приложение). Например, что произойдет, если у меня есть приемник вещания, который вызывается через Alarm. Будут ли вызваны методы в приложении? Или все зависит от приложения? Если у меня есть экземпляр datahelper в Приложении, и я вызываю его из приемника вещания, будет ли он доступен? Каков жизненный цикл объекта приложения, когда он уничтожен? когда вызывается при использовании будильника? Что происходит, когда действие не находится на переднем плане с объектом Application? Заранее спасибо. Гильермо.

Ответы [ 2 ]

13 голосов
/ 05 мая 2011

Посмотрите на это так: перед всем остальным есть Application.Он создается до ваших BroadcastReceiver, до ваших Activity экземпляров, до ваших Service экземпляров и т. Д. Не имеет значения, находится ли что-либо на переднем плане.Приложение будет закрыто, когда все ваши Activity экземпляры исчезнут, когда вы выйдете из BroadcastReceiver и когда ваши Service экземпляры будут закрыты.Там нет никакой гарантии, что он будет убит, но это последняя вещь, когда ОС решила, что ваше приложение должно умереть.

0 голосов
/ 26 марта 2018

В объекте приложения уже запущены первые компоненты.Это также всегда последний компонент приложения, который завершается.

Этот объект предоставляет следующие основные методы жизненного цикла:

  • onCreate() - вызывается перед первыми компонентамиприложения запускается
  • onLowMemory() - вызывается, когда система Android запрашивает очистку памяти приложением
  • onTrimMemory() - вызывается, когда система Android запрашивает очистку памяти приложением.Это сообщение включает в себя индикатор, в каком положении находится приложение.Например, константа TRIM_MEMORY_MODERATE указывает на то, что процесс находится примерно посередине фонового списка LRU;Освобождение памяти может помочь системе сохранить другие процессы, запущенные позже в списке, для повышения общей производительности.
  • onTerminate() - только для тестирования, не вызывается в рабочей среде
  • onConfigurationChanged() - вызывается при каждомизменения конфигурации

Подробнее здесь - http://www.vogella.com/tutorials/AndroidLifeCycle/article.html

...