完成申请的正确方法

问题描述 投票:0回答:6

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

this.finishAffinity();

但是,在我完成我的应用程序后,我可以在应用程序管理器中看到我的应用程序仍然启用了

stop
按钮。这是否意味着应用程序仍在运行?此外,Android Studio 认为应用程序也在运行。 如果我使用此代码完成应用程序:

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

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

android exit
6个回答
2
投票

总之,不用担心。

您应该运行检查以确保您没有泄漏上下文,但一般来说您不需要担心您的应用程序保持“活动”状态。

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

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

继续使用

finish();

Android 生命周期:

Android Lifecycle


0
投票

如果您不希望应用程序完成后显示在概览屏幕中,只需将

android:autoRemoveFromRecents="true"
添加到清单中的
activity
标签即可。无需使用
System.exit(0)


0
投票

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

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

尝试一下..

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

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

0
投票

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

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

0
投票

我的 WhatsApp 应用程序和我的 Google 帐户和移动网络被黑客入侵我不知道如何解决这个问题请帮助我解决这个问题


-1
投票
android.os.Process.killProcess(android.os.Process.myPid());
© www.soinside.com 2019 - 2024. All rights reserved.