Управление жизненным циклом операции Android

Содержание

Слайд 2

жизненный цикл приложения в Android жёстко контролируется системой и зависит от

жизненный цикл приложения в Android жёстко контролируется системой и зависит

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

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

Слайд 3

3 Кому жить, а кому умереть: приоритеты процессов в Android

3

Кому жить, а кому умереть: приоритеты процессов в Android

Слайд 4

Правильная реализация методов жизненного цикла (Activity обеспечивает нормальную работу приложения): Не

Правильная реализация методов жизненного цикла (Activity обеспечивает нормальную работу приложения):

Не

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

Основные методы жизненного цикла protected void onCreate() protected void onStart() protected

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

protected void onCreate()
protected void onStart()
protected

void onRestart()
protected void onResume()
protected void onPause()
protected void onStop()
protected void onDestroy()
Слайд 6

5 onCreate() Метод onCreate() вызывается при создании или перезапуска активности. Система

5

onCreate()

Метод onCreate() вызывается при создании или перезапуска активности.
Система может запускать и останавливать

текущие окна в зависимости от происходящих событий.
Внутри данного метода настраивают статический интерфейс активности.
Инициализирует статические данные активности, связывают данные со списками и т.д.
Связывает с необходимыми данными и ресурсами.
Задаёт внешний вид через метод setContentView().
Слайд 7

onStart() При вызове onStart() окно еще не видно пользователю, но вскоре

onStart()

При вызове onStart() окно еще не видно пользователю, но вскоре будет видно. Вызывается

непосредственно перед тем, как активность становится видимой пользователю. 
Слайд 8

onResume() Метод onResume() вызывается после onStart(), даже когда окно работает в

onResume()

Метод onResume() вызывается после onStart(), даже когда окно работает в приоритетном режиме и пользователь

может его наблюдать. В этот момент пользователь взаимодействует с созданным вами окном. Приложение получает монопольные ресурсы. Запускает воспроизведение анимации, аудио и видео. Также может вызываться после onPause().
Слайд 9

onPause() Когда пользователь решает перейти к работе с новым окном, система

onPause()

Когда пользователь решает перейти к работе с новым окном, система вызовет

для прерываемого окна метод onPause(). По сути происходит свёртывание активности.
Сохраняет незафиксированные данные. Деактивирует и выпускает монопольные ресурсы. Останавливает воспроизведение видео, аудио и анимацию. От onPause() можно перейти к вызову либо onResume(), либо onStop().
Слайд 10

onStop() Метод onStop() вызывается, когда окно становится невидимым для пользователя. Это

onStop()

Метод onStop() вызывается, когда окно становится невидимым для пользователя. Это может произойти при

её уничтожении, или если была запущена другая активность (существующая или новая), перекрывшая окно текущей активности. Всегда сопровождает любой вызов метода onRestart(), если активность возвращается, чтобы взаимодействовать с пользователем, или метода onDestroy(), если эта активность уничтожается.
Слайд 11

onRestart() Если окно возвращается в приоритетный режим после вызова onStop(), то

onRestart()

Если окно возвращается в приоритетный режим после вызова onStop(), то в этом

случае вызывается метод onRestart(). Т.е. вызывается после того, как активность была остановлена и снова была запущена пользователем. Всегда сопровождается вызовом метода onStart().
Слайд 12

onDestroy() Метод вызывается по окончании работы активности, при вызове метода finish()

onDestroy()

Метод вызывается по окончании работы активности, при вызове метода finish() или в случае,

когда система уничтожает этот экземпляр активности для освобождения ресурсов. Эти два сценария уничтожения можно определить вызовом метода isFinishing(). Вызывается перед уничтожением активности.
Слайд 13

Пересоздание активности Android пересоздает Activity: При изменении конфигурации устройства, например когда

Пересоздание активности

Android пересоздает Activity:

При изменении конфигурации устройства, например когда
изменяется ориентация

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

Параметр configChanges android:configChanges="orientation|screenSize"

Параметр configChanges

android:configChanges="orientation|screenSize"

Слайд 15

Сохранение состояния при пересоздании Activity Когда система начинает останавливать операцию, она

Сохранение состояния при пересоздании Activity

 Когда система начинает останавливать операцию, она вызывает onSaveInstanceState() Когда

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