Когда действие запущено, вызывается метод onCreate()
. В методе onCreate()
вы выполняете основную логику запуска, которая должна произойти только один раз в течение всего срока действия.
После выполнения onCreate()
вызывается метод onStart()
. Этот метод делает активность видимой, так как приложение готовит действие для входа на передний план и становится интерактивным.
После выполнения onStart()
вызывается метод onResume()
. Этот метод вызывается только тогда, когда приложение находится на переднем плане , потому что это состояние, в котором приложение взаимодействует с пользователем. Приложение остается в возобновленном (или запущенном) состоянии, пока что-то не удастся отвлечь внимание от приложения.
Если другое действие входит в передний план , вызывается метод onPause()
. Приложение приостановлено, если оно еще видно. Этот метод только приостанавливает операции операции. Он не разрушает. Действие остается в приостановленном состоянии до тех пор, пока активность не возобновится или не станет полностью невидимой для пользователя. 4a. Если пользователь возвращается к активности, метод onResume()
вызывается снова. 4b. процесс приложения может быть убит из приостановленного состояния, если приложения с более высоким приоритетом нуждаются в памяти. Если пользователь должен вернуться в приложение после того, как он был убит, метод onCreate()
вызывается снова
Если активность больше не виден пользователю, метод onStop()
называется. Когда действие остановлено, объект активности хранится в памяти и сохраняет все состояние и информацию, но не привязан к оконному менеджеру. 5a. если пользователь возвращается к активности, вызывается метод onRestart()
, за которым следует метод onStart()
. 5b. процесс приложения может быть убит из состояния остановки, если приложения с более высоким приоритетом нуждаются в памяти.Если пользователю нужно вернуться в приложение после его уничтожения, то снова вызывается метод onCreate()
.
Если деятельность завершается или убивается системой, вызывается метод onDestroy()
. Приложение изначально не отключается. Система либо вызывает этот метод, потому что действие заканчивается из-за чьего-то вызова finish()
, либо потому, что система временно уничтожает процесс, содержащий операцию, чтобы сэкономить место. Эта система может также вызвать этот метод при изменении ориентации, а затем немедленно вызвать onCreate()
, чтобы воссоздать процесс (и компоненты, которые он содержит) в новой ориентации. Метод onDestroy()
освобождает все ресурсы, которые еще не были выпущены более ранними методами, такими как onStop()
.
весь срок службы из активности происходит между первым вызовом onCreate()
через один окончательного вызова onDestroy()
.
видимый срок службы из активности не происходит между вызовом onStart()
до вызова onStop()
.
Срок переднего плана из деятельности не происходит между вызовом onResume()
до вызова onPause()
.
Единственный метод, который мы должны реализовать, - onCreate()
. Другие вызываются автоматически. Но мы можем сами реализовать их, чтобы сообщить приложению, что делать во время этих процессов.
https://developer.android.com/guide/components/activities/activity-lifecycle.html#asem
onAttachedToWindow
вызывается, когда вид прикрепляется к окну. В этот момент у него есть Поверхность и начнется рисование.
https://developer.android.com/reference/android/view/View.html#onAttachedToWindow()
Если вы хотите увидеть, как это согласуется с другими методами, вы можете переопределить каждого из методов и добавить некоторые операторы печати. –
Да, я сделал это (onAttachedToWindow() идет после onResume()). Но это не дает ответа на то, что именно происходит? * И * почему такая разница в отзывчивости? *. – Ralkie
Когда начинается событие OnCreate? Когда я устанавливаю точку останова в начале события OnCreate, поэтому приложение запускает и загружает активность на экран, тогда точка останова активируется, и приложение переходит в паузу. Мне нужно событие о деятельности, которая активируется точно до инициализации и запуска активности. –