防止多个Android应用程序实例打开

时间:2014-03-04 19:11:16

标签: android android-activity

我已经做了很多搜索我的问题,但无法找到解决我确切问题的方法。

我有一个连续3个活动的应用程序。主要活动(发布时),第二个活动(大多数肉类和胆量都存在),然后是最终活动,或多或少是第二个活动中发生的事情的摘要页面。

我偶尔会遇到这个问题,如果我让第二个活动在后台运行(关闭手机屏幕,或者只是回家),然后点击启动器图标返回应用程序,它创建一个新实例,而不是返回到我在后台运行的第二个活动。我找不到任何押韵或理由,为什么它有时发生而不是其他人(通常它没有)。大部分时间我都回到了第二次活动,一切都在世界上很好,但有时,它会引发另一次活动。

无论如何都要检查一个实例是否正在运行并且如果存在则总是返回该实例?

1 个答案:

答案 0 :(得分:0)

当您点击Home或屏幕关闭时,应用程序会自动进入onStop()阶段。根据可用内存,应用程序可能成为被Android操作系统杀死的候选人。真的没有办法阻止操作系统杀死不再是前台的应用程序 - 这是一个Android操作系统设计。如果你没有打开很多应用程序,这很可能不会发生。

如果应用程序的第一个实例仍然存在且您启动了应用程序,它将自动检索此实例。 Android旨在永远不会创建同一个应用程序的第二个实例,而第一个应用程序仍在运行。因此无法检查实例是否正在运行。您可以使用onDestroy()内部的日志记录来查看应用程序何时终止。但同样,Android并不总是调用onDestroy(),可能只是简单地终止应用程序。