正确的方法来完成申请

时间:2016-10-24 08:55:06

标签: android exit

我使用以下代码来停止我的应用:

this.finishAffinity();

然而,在我完成我的应用程序后,我可以在应用程序管理器中看到我的应用程序仍然启用了stop按钮。这是否意味着应用程序仍在运行?此外,android studio认为应用程序也在运行。 如果我使用此代码完成应用程序:

   this.finish();
   System.exit(0);

Android Studio将应用视为已完成,但应用管理器仍会显示启用停止按钮。 我读过调用System.exit是完成应用程序的不可取的方式 什么是正确的?

5 个答案:

答案 0 :(得分:2)

简而言之,请不要担心。

您应该运行检查以确保您不是leaking a Context,但通常您不必担心您的应用保持“有效”。

这仅仅意味着它尚未完全终止,因为Android不需要这样做。在此之前,如果用户再次想要它,它可以使其保持部分存活状态。

这不需要任何额外的处理资源来保持活着。只有一些记忆。当Android认为有必要申请资源时,它会完全终止您的应用。

继续使用finish();

Android生命周期:

Android Lifecycle

答案 1 :(得分:0)

如果您不希望应用在完成后显示在概览屏幕中,只需将android:autoRemoveFromRecents="true"添加到清单中的activity标记即可。无需使用System.exit(0)

答案 2 :(得分:0)

android.os.Process.killProcess(android.os.Process.myPid());

答案 3 :(得分:0)

无需使用this.finish(); 刚完成();没关系 应用管理器始终显示应用正在运行,因为杀死应用可能会对其活动产生不当行为。

public void EXIT(View view) 
{
    finish();
}

答案 4 :(得分:0)

要退出按钮上的应用程序,请单击以下代码:

Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_HOME);
startActivity(intent);

试试..

要杀死完整的应用程序并将其从Runningapp列表中删除,请通过其pid(令人讨厌的)杀死应用程序...在上面的代码之前使用这一行。

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