我使用以下代码来停止我的应用:
this.finishAffinity();
然而,在我完成我的应用程序后,我可以在应用程序管理器中看到我的应用程序仍然启用了stop
按钮。这是否意味着应用程序仍在运行?此外,android studio认为应用程序也在运行。
如果我使用此代码完成应用程序:
this.finish();
System.exit(0);
Android Studio将应用视为已完成,但应用管理器仍会显示启用停止按钮。 我读过调用System.exit是完成应用程序的不可取的方式 什么是正确的?
答案 0 :(得分:2)
简而言之,请不要担心。
您应该运行检查以确保您不是leaking a Context,但通常您不必担心您的应用保持“有效”。
这仅仅意味着它尚未完全终止,因为Android不需要这样做。在此之前,如果用户再次想要它,它可以使其保持部分存活状态。
这不需要任何额外的处理资源来保持活着。只有一些记忆。当Android认为有必要申请资源时,它会完全终止您的应用。
继续使用finish();
。
Android生命周期:
答案 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);