“最近的应用”启动应用与点按应用图标有什么区别

时间:2013-09-12 08:19:59

标签: android task

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

  1. 用户点击应用图标(行为:用户看到家庭活动,无论他在何处,应用程序最小化时都无关紧要)
  2. 用户从Android“最新应用”中选择应用(行为:用户看到他看到的内容,应用最小化时)
  3. 那么,通过这两种方式从后台启动应用程序有什么区别?我一直认为,它是相同的机制,但显然,我错了。

    感谢您的回答

2 个答案:

答案 0 :(得分:7)

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

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

答案 1 :(得分:0)

根据我作为Android用户的体验,两者都是相同的。

我们通常看到的差异是关闭应用的方式

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

    在此状态下,无论我们如何打开应用程序,都会转到主屏幕

  2. 按主页按钮

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

  3. 如果我错了,请纠正我