在android中退出应用程序的方法
我有一个HomeActivity(用于在3秒钟内显示初始屏幕),然后自动重定向到LoginActivity(用于检查用户登录信息)。 在LoginActivity中,我有一个退出应用程序的退出按钮,代码如下在android中退出应用程序的方法,android,Android,我有一个HomeActivity(用于在3秒钟内显示初始屏幕),然后自动重定向到LoginActivity(用于检查用户登录信息)。 在LoginActivity中,我有一个退出应用程序的退出按钮,代码如下 // TODO Auto-generated method stub finish(); android.os.Process.killProcess(android.os.Process. myPid()); Syst
// TODO Auto-generated method stub
finish();
android.os.Process.killProcess(android.os.Process. myPid());
System.exit(0);
我在onDestroy()中再次使用了相同的代码。
但是,当我试图退出应用程序时,程序被牢牢关闭。但仍保留在内存中(在后台应用程序列表中)。我该怎么解决呢?打电话给:
android.os.Process.killProcess(android.os.Process.myPid());
System.exit(0);
因为android将自动处理进程。
此外,将你的应用程序从最近的应用程序中排除是不正确的行为
顺便说一句,您可以在清单中的“退出”活动标记下:
android:excludeFromRecents="true"
当应用程序关闭时,它不会出现在最近的应用程序中
编辑
如果它在Android 5.0中不起作用,则是一个报告的错误,因此请添加taskAffinity属性并使用autoRemoveFromRecents:
android:taskAffinity=".YourExitActivity"
android:autoRemoveFromRecents="true"
然后在您的onPause()
中,您可以检查sdk版本以使用finishAndRemoveTask
:
if(android.os.Build.VERSION.SDK_INT >= 21) {
finishAndRemoveTask();
} else {
finish();
}
finish()就足够了
如果在call finish()之后应用程序仍保留在内存中,则可能是应用程序内存泄漏。在清单中提到标记时,我们可以保留
`android:`noHistory=true
所以提到的活动不会在后面的堆栈中
例如:
<activity
android:name="Splash_Activity"
android:label="Splash"
android:noHistory="true" />
您可以只调用
finish()
来关闭活动。Android kill process本身就是一个进程,单独杀死进程不是一个好的做法finish()
是退出活动的最佳方式OK,我使用finish();独自一人是行不通的。我对System.exit(0)使用了Finish(),但不起作用。我尝试了很多方法,但都没有回答。检查这个。finish()完成一个活动,如果你的应用程序包含多个活动,你需要关闭所有活动对不起,你的想法行不通。我的问题还在那里。谢谢,我的问题解决了。我在第一个活动标签(清单中)中使用了“android:excludeFromRecents=”true“。对不起,我的声誉低于15。