finish()如何在内部工作

时间:2015-05-26 20:52:54

标签: android

我正在构建一个包含单个Activity的Android应用。当我点击调用Activity finish()方法的按钮时,应该关闭应用程序。

但是,该应用仍然在运行应用列表中。不应该关闭应用程序吗?

由于

修改

我可以通过运行killProcess()完全终止进程,可以通过adb命令adb shell ps检查正在运行的进程来验证。然而,令人困惑的是,如果我按下多任务按钮,我的应用程序仍会显示为"正在运行"。

int pid = android.os.Process.myPid();
android.os.Process.killProcess(pid);

此外,我仍然很好奇为什么finish()无法完全关闭单个活动应用。关闭应用程序是否比调用killProcess()更优雅?

2 个答案:

答案 0 :(得分:2)

这是正常的。运行应用程序列表中的应用程序不需要使用CPU,但具有已保存状态。 Android自行管理,所以不要担心。你不应该试图杀死它

答案 1 :(得分:0)

您只能从Backstack中删除活动,但所有应用仍在此正在运行的应用列表中。老实说,我不知道为什么,但没有进程,所以没关系。这是我手动关闭所有应用程序的习惯,因为我认为它耗尽了功率但现在我知道更好