Я поместила вызов метода System.exit(0) в onBackPressed
@Override
public void onBackPressed() {
super.onBackPressed();
System.exit(0);
}
и после нажатия на клавишу BACK (из первого активити), судя по логам, вызываются следующие методы обратного вызова:
onCreate
onStart
onResume
onBackPressed
После этого я запускаю приложение снова (неважно как - вызовом из списка запущенных приложением, или тапом по иконке приложения на домашнем экране), и вижу, что следующим вызывается метод OnCreate, минуя методы onStop и onDestroy. Каким образом завершается активность без вызова методов onStop и onDestroy? Убивается процесс, в котором запущено приложение?
Ответ
Вызов System.exit(0) перезапускает приложение, выкидывая последнюю activity.
Например, если из ActivityA открыта ActivityB, в которой делается вызов System.exit(0), то приложение будет убито и сразу же перезапущено с ActivityA.
Источник: Difference between finish() and System.exit(0)
Комментариев нет:
Отправить комментарий