Страницы

Поиск по вопросам

понедельник, 6 января 2020 г.

Метод System.exit(0)

#android #activity


Я поместила вызов метода System.exit(0) в onBackPressed:

@Override
public void onBackPressed() {
    super.onBackPressed();
    System.exit(0);
}


и после нажатия на клавишу BACK (из первого активити), судя по логам, вызываются
следующие методы обратного вызова:

onCreate
onStart
onResume
onBackPressed


После этого я запускаю приложение снова (неважно как - вызовом из списка запущенных
приложением, или тапом по иконке приложения на домашнем экране), и вижу, что следующим
вызывается метод OnCreate, минуя методы onStop и onDestroy. Каким образом завершается
активность без вызова методов onStop и onDestroy? Убивается процесс, в котором запущено
приложение? 
    


Ответы

Ответ 1



Вызов System.exit(0) перезапускает приложение, выкидывая последнюю activity. Например, если из ActivityA открыта ActivityB, в которой делается вызов System.exit(0), то приложение будет убито и сразу же перезапущено с ActivityA. Источник: Difference between finish() and System.exit(0)

Комментариев нет:

Отправить комментарий