OnCreate вызывается когда активити создается. В onCreate вы должны вызвать метод setContentView onStart


Download 129.24 Kb.
bet1/3
Sana24.03.2023
Hajmi129.24 Kb.
#1290885
  1   2   3
Bog'liq
Мобил иловалар мустакил иш


Activity – основной компонент в андроиде. Активити – это экран, то что видит и с чем взаимодействует пользователь. Может содержать несколько View и фрагментов. Так же как и другие базовые компоненты, может быть точкой входа в приложение.

Активити с MAIN Intent Filter в манифесте запускается при старте приложения, когда пользователь кликает на иконку приложения.
Жизненный цикл активити состоит из шести основных коллбэков, вызываемых системой. В порядке вызова: onCreate()onStart()onResume()onPause()onStop()onDestroy().


onCreate() вызывается когда активити создается. В onCreate() вы должны вызвать метод setContentView().

onStart() вызывается когда активити отрисована и видима пользователю.

onResume() вызывается перед тем как активити станет доступна для взаимодействия с пользователем.

onPause() – метод симметричный onResume(). Пользователь больше не может взаимодействовать с активити, но активити частично видна пользователю. В этом состоянии UI активити может изменяться.

onStop() – метод симметричный onStart(). Вызывается, когда активити больше не видна пользователю.

onDestroy() – метод симметричный onCreate(). Вызывается перед тем, как активити будет уничтожена системой.

Несколько примеров:

1. Пользователь жмет Home. В этом случае активити больше не видна, поэтому вызываются onPause()onStop(). Пользователь открывает приложение снова - onStart()onResume().

2. Пользователь переходит на другую активити внутри приложения (реализуется вызовом startActivity()) – onPause()onStop(). Пользователь возвращается на предыдущую активити – onStart()onResume().

3. Вызов finish() – onPause()onStop()onDestroy(). Когда пользователь перейдет на эту активити снова, она будет создана с нуля без сохранения состояния.

4. Пользователь поворачивает телефон и ориентация активити меняется. Активити пересоздается и вызываются коллбеки onPause()onStop()onDestroy()onCreate()onStart()onResume() с сохранением состояния.

Это базовые методы активити. Более подробно они описаны в документации.

В полный жизненный цикл также входят onRestart()onSaveInstanceState()onRestoreInstanceState()onNewIntent() и другие методы, которые разберем в будущем.



При повороте экрана активити уничтожается и создается заново. Вызываются коллбэки onPause()onStop()onSaveInstanceState()onDestroy() – onCreate()onStart()onRestoreInstanceState()onResume().

Чтобы сохранить состояние активити, вы должны переопределить метод onSaveInstanceState() и положить данные в Bundle.

При реинициализации активити, Bundle с сохраненным состоянием передается в onCreate() и в onRestoreInstanceState().

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


Download 129.24 Kb.

Do'stlaringiz bilan baham:
  1   2   3




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling