Нужно ли явно завершать действие в Android?
Когда я начинаю новое действие, мне нужно явно завершить текущее действие, или Android позаботится об этом?
Вот что я пишу в упражнении A, чтобы начать упражнение B:
Intent intent = new Intent(this, BActivity.class);
startActivity(intent);
Должен ли я заканчивать A, вызывая следующую строку после вышеупомянутых двух строк?
this.finish()
3 ответа
В общем нет, не стоит.
Разница будет в том, что если вы вызовете "Завершить" в "Деятельности А", а если пользователь находится в "Деятельности В", если они нажмут кнопку "Назад", они вернутся к тому, что делали до открытия приложения. Если вместо этого вы не вызовете финиш в Деятельности А, они вернутся к Деятельности А
Если вы действительно позвоните финиш:
Activity A -> Activity B -> [user press back] -> Homescreen (or whatever activity is on the stack below activity A)
если вы НЕ вызываете финиш:
Activity A -> Activity B -> [user press back] -> Activity A
Нет, это не обязательно.
finish()
Завершить состояние метода "Вызовите это, когда ваша деятельность завершена и должна быть закрыта. ActivityResult передается обратно тому, кто запустил вас через onActivityResult()".
ссылка ссылка >> ссылка
explicitly finish the current activity or does android take care this ?
От вашего требования зависит, хотите ли вы, чтобы операция A во время возвращения из формы B все еще находилась там, поэтому вам не нужно вызывать операцию Fin, но если вы не хотите, чтобы операция A возвращалась из операции B формы, вам следует вызвать финиш....