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

OFF*_*ind 3 android task

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

  1. 用户点击应用程序图标(行为:用户看到家庭活动,无论他在哪里,应用程序最小化时都无关紧要)
  2. 用户从Android"最近的应用程序"中选择应用程序(行为:用户看到他看到的,当应用程序最小化时)

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

谢谢你的回答

x90*_*x90 7

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

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