Android 完成申请的正确方法

Android 完成申请的正确方法,android,exit,Android,Exit,我使用以下代码停止我的应用程序: this.finishAffinity(); 但是,在我完成应用程序后,我可以在应用程序管理器中看到我的应用程序仍然启用了stop按钮。这是否意味着应用程序仍在运行?而且android studio认为应用程序也在运行。 如果我使用此代码完成应用程序: this.finish(); System.exit(0); Android studio将应用程序视为已完成,但应用程序管理器仍显示已启用的停止按钮。 我读到calling System.exi

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

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

   this.finish();
   System.exit(0);
Android studio将应用程序视为已完成,但应用程序管理器仍显示已启用的停止按钮。 我读到calling System.exit是完成应用程序的不可抗拒的方式。

正确的方法是什么?

如果您不希望您的应用程序在完成时显示在概览屏幕上,只需将
安卓:autoRemoveFromRecents=“true”
添加到清单中的
活动
标记。无需使用
系统。退出(0)

简言之,不用担心。

你应该运行检查以确保你没有,但一般来说,你不需要担心你的应用程序保持“活动”

这仅仅意味着它还没有完全终止,因为Android不需要这样做。在此之前,它会让它保持部分活动状态,以便在用户再次需要时能够快速恢复

这不需要任何额外的处理资源来保持它的活力。只有一些记忆。当Android认为有必要申请资源时,它将完全杀死你的应用程序

只需继续使用
finish()

Android生命周期:

无需使用此.finish(); 刚刚完成;可以 app manager始终显示应用程序正在运行,因为终止应用程序可能会导致其活动出现错误行为

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

要在按钮上退出应用程序,请单击“使用此代码”:

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);

问题不在最近的应用程序列表中。问题在于应用程序管理器(在android设置中)和android studio认为该应用程序仍在运行谢谢!如果android决定重新启动我的应用程序,它会从头开始吗?我的意思是我应该在finish()之前释放所有资源吗?它几乎会从头开始启动你的应用程序。我将在答案中向生命周期发布一个图像。您可以使用
onSaveInstanceState(Bundle)
onRestoreInstanceState(Bundle)
返回到以前的状态:
int pid = android.os.Process.myPid();
android.os.Process.killProcess(pid);