Нужно ли явно завершать действие в 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 формы, вам следует вызвать финиш....

Другие вопросы по тегам