我正在处理大型项目,因此有一些逻辑可以保存应用程序状态,然后在它来自后台时打开正确的活动(片段)。 但无论如何,我发现如果用户浏览我的应用程序然后将其最小化 - 在以下情况下,android会以不同方式从后台打开它:
那么,通过这两种方式从后台启动应用程序有什么区别?我一直认为,它是相同的机制,但显然,我错了。
感谢您的回答
答案 0 :(得分:7)
您应该关注以下文档Activity和Tasks。简而言之:如果用户从最近启动应用程序,您将在onStart之前收到onRestart(没有onCreate,这意味着您的应用程序只是“暂停”)。您可以使用onSaveInstanceState()保存屏幕状态。但总的来说,从图标和最近的开始 - 不同的应用程序行为,你应该为这种方式提供适当的代码。
UPD 的
如下所述,意外行为的根本原因是额外的lunchmode属性。
答案 1 :(得分:0)
根据我作为Android
用户的体验,两者都是相同的。
我们通常看到的差异是关闭应用的方式
按返回按钮,直到应用关闭/ finish()
在此状态下,无论我们如何打开应用程序,都会转到主屏幕
按主页按钮
此状态取决于应用程序。如果应用程序未处理任何Activity
应用程序将与第一个状态相同。但是,如果应用处理类似于onPause()
Activity
然后finish()
应用的情况,那么无论您使用应用图标或最近的应用打开什么,都会提供相同的结果。
如果我错了,请纠正我