android - 我需要在 Android 中显式完成 Activity 吗?

标签 android android-activity activity-finish

当我开始一个新的 Activity 时,我需要明确地完成当前的 Activity 还是 Android 会处理这个?

这是我在 Activity A 中写的启动 Activity B 的内容:

Intent intent = new Intent(this, BActivity.class);
startActivity(intent);

我应该在上面提到的两行之后通过调用下一行来结束 A 吗?

this.finish()

最佳答案

一般来说,不,你不应该。

不同之处在于,如果您在 Activity A 中调用 finish,当用户在 Activity B 中时,如果他们按下后退按钮,他们将返回到他们在打开您的应用程序之前所做的任何事情。如果您不在 Activity A 中调用 finish,它们将返回到 Activity A

如果您DO调用finish:

Activity A -> Activity B -> [user press back] -> Homescreen (or whatever activity is on the stack below activity A)

如果你不要调用finish:

Activity A -> Activity B -> [user press back] -> Activity A

关于android - 我需要在 Android 中显式完成 Activity 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11333099/

相关文章:

android - 通过静态类传递上下文是否有效?

android - 摆脱蓝线

java - 如何使用与应用程序 Activity 不同的类?

android - 从静态方法完成 Activity

android - 使用 Firebase 进行单元测试

android Tablelayout 出屏

android - UnityPlayerActivity getContext() 替换

Android makeClipRevealAnimation

android - finish() 和 System.exit(0) 之间的区别

java - Android:什么时候用 finish() 结束类(class)?