android,启动和退出活动

时间:2011-03-01 13:21:24

标签: android android-activity

我还没有真正理解活动和堆栈的处理。 我有3个活动,A - 一个闪屏,B-菜单和C另一个活动。我开始启动并在菜单启动后退出一段时间。 在代码中我处理它们都是这样的:

startActivity(new Intent(this, ContactInfoMenu.class));
        finish();

现在,如果我启动应用程序并进入A-B-C,当我在C屏幕中点击“返回”时,我会跳回B-菜单。另一个“Back”退出应用程序,就像我想要的那样。 但是..如果我去A-B-C-B-C - C屏幕中的“后退”按钮退出整个应用程序而不是让我回到B屏幕?

为什么?它确实在我的所有“子屏幕”中都是这样,我只能输入一次,如果我第二次输入它们,“返回”按钮退出应用程序。我还没有试图在任何地方抓住“后退”行动?当我开始一项新活动时,我不应该总是叫“结束()”吗?

此致

3 个答案:

答案 0 :(得分:5)

完成有利于离开当前活动并返回上一个活动。否则,如果可以帮助,请尽量避免调用finish()。

当您启动一个更好地确定该活动在堆栈上的行为的活动时,您可以传递一组标志。其中包括:

可以在清单中设置其中许多标志。阅读它们可以让您更好地了解“Android Way”。

答案 1 :(得分:4)

基本上,每次去另一项活动时,您都不需要致电finish()。如果系统内存不足,它将自行关闭您的活动实例。

答案 2 :(得分:1)

当你在一个页面中插入一些信息然后转到其他页面时,更经常使用

finish()。在这种情况下,您可能需要完成第一项活动。 但是如果你需要在视图之间进行混洗,则不能使用finish()函数,因为它会导致整个应用程序finish。 尝试在您的视图中使用您自己的back按钮在各种活动之间切换,您可以转移到应用程序的任何其他活动,甚至转移到Main Screen