Смотрите это в Activity Lifecycle (у разработчиков Android).
onCreate () :
Вызывается при первом создании действия. Здесь вы должны выполнить все ваши обычные статические настройки: создавать представления, связывать данные со списками и т. Д. Этот метод также предоставляет пакет, содержащий ранее замороженное состояние действия, если оно было. Всегда сопровождается onStart ().
onRestart () :
Вызывается после того, как ваша деятельность была остановлена, прежде чем она будет запущена снова. Всегда сопровождается onStart ()
onStart () :
Вызывается, когда активность становится видимой для пользователя. Затем следует onResume (), если действие выходит на передний план.
onResume () :
Вызывается, когда действие начнет взаимодействовать с пользователем. На данный момент ваша активность находится на вершине стека активности, и пользовательский ввод идет к нему. Всегда сопровождается onPause ().
onPause () :
Вызывается как часть жизненного цикла действия, когда действие переходит в фоновый режим, но еще не было уничтожено. Аналог onResume (). Когда действие B запускается перед действием A, этот обратный вызов будет вызываться для A. B не будет создаваться до тех пор, пока функция onPause () A не будет возвращена, поэтому обязательно не делайте здесь ничего длинного.
onStop () :
Вызывается, когда вы больше не видны пользователю. Затем вы получите либо onRestart (), onDestroy (), либо ничего, в зависимости от дальнейшей пользовательской активности. Обратите внимание, что этот метод никогда не может быть вызван в ситуациях нехватки памяти, когда системе не хватает памяти для поддержания процесса вашей активности после вызова метода onPause ().
onDestroy () :
Последний звонок, который вы получите до того, как ваша деятельность будет уничтожена Это может произойти либо из-за того, что действие заканчивается (кто-то вызвал finish () на нем, либо из-за того, что система временно уничтожает этот экземпляр действия для экономии места. Вы можете различить> эти два сценария с помощью метода isFinishing ().
Когда активность загружается в первый раз, события вызываются так:
onCreate()
onStart()
onResume()
Когда вы нажимаете кнопку «Телефон», действие переходит в фоновый режим и вызываются следующие события:
onPause()
onStop()
Выйдите из номеронабирателя телефона, и будут вызваны следующие события:
onRestart()
onStart()
onResume()
Когда вы нажимаете кнопку « Назад» ИЛИ пытаетесь завершить () действие, события вызываются, как показано ниже:
onPause()
onStop()
onDestroy()
Состояния активности
ОС Android использует очередь с приоритетами для управления действиями, выполняемыми на устройстве. В зависимости от состояния, в котором находится конкретное действие Android, ему будет присвоен определенный приоритет в ОС. Эта приоритетная система помогает Android идентифицировать действия, которые больше не используются, что позволяет ОС восстанавливать память и ресурсы. Следующая диаграмма иллюстрирует состояния, через которые может проходить активность в течение ее жизненного цикла:
Эти состояния можно разбить на три основные группы следующим образом:
Активно или работает - Действия считаются активными или выполняющимися, если они находятся на переднем плане, также известном как верхняя часть стека действий. Это считается активностью с наивысшим приоритетом в стеке активности Android, поэтому ОС будет уничтожена только в экстремальных ситуациях, например, если действие пытается использовать больше памяти, чем доступно на устройстве, так как это может привести к тому, что пользовательский интерфейс стать неотзывчивым
Приостановлено - когда устройство переходит в спящий режим, или активность все еще видна, но частично скрыта новым, не в натуральную величину или прозрачным действием, действие считается приостановленным. Приостановленные действия все еще живы, то есть они поддерживают всю информацию о состоянии и членах и остаются привязанными к оконному менеджеру. Это считается вторым по приоритету действием в стеке активности Android и, как таковое, будет уничтожено ОС только в том случае, если уничтожение этого действия удовлетворит требования к ресурсам, необходимые для поддержания активной / активной активности в стабильном и отзывчивом состоянии.
Остановлено - действия, которые полностью скрыты другим действием, считаются остановленными или в фоновом режиме. Остановленные действия по-прежнему пытаются сохранить информацию о своем состоянии и членах как можно дольше, но остановленные действия считаются самым низким приоритетом из трех состояний, и, как таковая, ОС вначале уничтожит действия в этом состоянии, чтобы удовлетворить требования к ресурсам. приоритетных видов деятельности.
* Пример деятельности, чтобы понять жизненный цикл **
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
public class MainActivity extends Activity {
String tag = "LifeCycleEvents";
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Log.d(tag, "In the onCreate() event");
}
public void onStart()
{
super.onStart();
Log.d(tag, "In the onStart() event");
}
public void onRestart()
{
super.onRestart();
Log.d(tag, "In the onRestart() event");
}
public void onResume()
{
super.onResume();
Log.d(tag, "In the onResume() event");
}
public void onPause()
{
super.onPause();
Log.d(tag, "In the onPause() event");
}
public void onStop()
{
super.onStop();
Log.d(tag, "In the onStop() event");
}
public void onDestroy()
{
super.onDestroy();
Log.d(tag, "In the onDestroy() event");
}
}