5

我正在处理大型项目,因此有一些逻辑可以保存应用程序状态,然后在后台打开正确的活动(片段)。但无论如何,我发现如果用户浏览我的应用程序然后最小化它 - android 在以下情况下以不同的方式从后台打开它:

  1. 用户点击应用程序图标(行为:用户看到家庭活动,无论他在哪里,应用程序何时最小化)
  2. 用户从 android“最近的应用程序”中选择应用程序(行为:当应用程序最小化时,用户可以看到他所看到的内容)

那么,这两种方式从后台启动应用程序有什么区别呢?我一直认为,这是相同的机制,但显然,我错了。

感谢您的任何回答

4

2 回答 2

7

您应该注意以下文档ActivityTasks。简而言之:如果用户从最近开始应用程序,您将在 onStart 之前收到 onRestart (没有 onCreate 这意味着您的应用程序只是“暂停”)。您可以使用 onSaveInstanceState() 保存屏幕状态。但总的来说,从图标和最近开始 - 不同的应用程序行为,您应该为这种方式提供适当的代码。

UPD 如下所述,意外行为的根本原因是额外的午餐模式属性。

于 2013-09-12T08:27:17.573 回答
0

从我作为Android用户的经验来看,两者都是相同的。

我们通常看到的区别是我们如何关闭应用程序

  1. 按返回按钮直到应用程序关闭/finish()

    在这种状态下,无论我们如何打开应用程序,它都会进入主屏幕

  2. 按主页按钮

    这种状态取决于应用程序。如果应用程序不处理任何Activity应用程序将与第一个状态相同。但是,如果应用程序处理类似应用程序时onPause()的情况,Activity那么finish()无论您使用应用程序图标或最近的应用程序打开什么,都将提供相同的结果。

如果我错了,请纠正我

于 2013-09-12T08:35:59.070 回答