Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 按后退键可';我无法完成我的应用程序。但将其从最近的应用列表中删除可能会_Android - Fatal编程技术网

Android 按后退键可';我无法完成我的应用程序。但将其从最近的应用列表中删除可能会

Android 按后退键可';我无法完成我的应用程序。但将其从最近的应用列表中删除可能会,android,Android,我正在用android创建一个活动:launchMode=“singleTask”。在应用程序中,还有另一个未在活动中声明的类,它自身保留一个静态最终实例和一些日志以显示在活动中。 当我试图按back键完成活动时。正如我所说,日志显示活动已被破坏 @Override public void onDestroy() { super.onDestroy(); Log.d("I am destroyed", "."); } 活动中的代码。 然而,当我再次启动应用程序时,我发现活动仍然

我正在用android创建一个活动:launchMode=“singleTask”。在应用程序中,还有另一个未在活动中声明的类,它自身保留一个静态最终实例和一些日志以显示在活动中。 当我试图按back键完成活动时。正如我所说,日志显示活动已被破坏

@Override
public void onDestroy() {
    super.onDestroy();
    Log.d("I am destroyed", ".");
}
活动中的代码。 然而,当我再次启动应用程序时,我发现活动仍然与我离开时一样。 然后,我按back键,并手动将其从最近的应用程序列表中删除。然后再次运行应用程序。这一次,应用程序显示了它应该显示的样子


按back键完成一个应用程序和在最近的应用程序列表中删除它有什么不同?如果我想像普通应用程序一样完成应用程序,我该怎么办?

每个android应用程序都有自己的应用程序,在这个过程中,一个或多个活动可以多次启动和完成,而过程不会结束

静态变量在活动结束时不会超出范围,但只有在流程最终结束时才会超出范围

您可以通过调用
System.exit(0)
来结束整个过程,但是通常不鼓励这样做,更好的解决方案是在活动被销毁时重新初始化相关值

编辑:有关关闭Android应用程序的更多详细信息,请参阅本文:

退出应用程序并不意味着它已经完成。Android决定何时完成,如果有的话。这是设计的,旨在提供应用程序的快速启动,并且工作得非常好。您还没有显示任何代码,所以这只是一个猜测,但您可能在onCreate()中做了太多工作,而忽略了onResume()。看看Android活动生命周期:


谢谢。系统出口(0)正常工作。实际上,在我的应用程序中,所有需要做的事情都是在一个静态的最终实例中处理的。主活动只处理UI部分。这样,我就可以忽略活动的生命周期,像处理桌面应用程序一样处理应用程序,而不是android移动应用程序。我想这可能就是为什么System.exit(0)不可用的原因。然而,由于1GB内存是android的主流。目前的生命周期还需要吗?谢谢你,西蒙。解释部分对我来说是新的。