См. В Жизненный цикл активности (у разработчиков Android).
OnCreate () :
Вызывается при первом создании действия. Это где вы должны сделать
все ваши обычные статические настройки: создавать представления, привязывать данные к спискам,
и т.д. Этот метод также предоставляет вам Bundle, содержащий
ранее замороженное состояние активности, если таковое было. Всегда следовал
от onStart ().
onRestart ()
Вызывается после того, как ваша деятельность была остановлена, до того, как она была запущена
снова. Всегда следует onStart ()
OnStart ()
Вызывается, когда активность становится видимой для пользователя. С последующим
onResume (), если действие выходит на передний план.
onResume ()
Вызывается, когда действие начнет взаимодействовать с пользователем. В этот
укажите вашу активность на вершине стека активности, с пользователем
вход идет к нему. Всегда сопровождается onPause ().
onPause () :
Вызывается как часть жизненного цикла действия, когда действие продолжается
на задний план,
но не был (пока) убит. Аналог onResume ().
Когда действие B запускается перед действием A, этот обратный вызов будет вызван на A.
B не будет создан до тех пор, пока функция onPause () не будет возвращена, поэтому обязательно не
сделайте что-нибудь длинное здесь.
OnStop ()
Вызывается, когда вы больше не видны пользователю. Вы будете дальше
получить либо onRestart (), onDestroy (), либо ничего, в зависимости от
позже активность пользователя.
Обратите внимание, что этот метод никогда не может быть вызван, в ситуациях с нехваткой памяти
где система не имеет достаточно памяти, чтобы сохранить ваши действия
процесс выполняется после вызова метода onPause ().
OnDestroy ()
Последний звонок, который вы получите до того, как ваша деятельность будет уничтожена. это
может произойти либо потому, что деятельность заканчивается
завершить (), или потому что система временно уничтожает это
экземпляр деятельности для экономии места. Вы можете различить эти два сценария с помощью метода 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");
}
}