当用户从最近的应用中撤消已被操作系统破坏的活动时,会发生什么情况?

时间:2019-04-10 21:48:39

标签: android android-activity lifecycle android-recents

据我所知,一个已经被Android系统破坏的应用程序驻留在最近的应用程序中。例如,我启动了我的应用程序并浏览了一些活动。然后退出,并打开了其他几个应用程序,并且几个小时没有再次启动我的应用程序。我上次打开的活动即使已被系统破坏,也将保留在最近的应用程序中。我的问题是,当我从最近的应用程序列表中触摸我的应用程序时,将以哪种顺序运行生命周期方法?另外,在仍显示在最近应用程序中的活动中,我的数据将如何处理?它是否从一开始就被创建?我还有活动堆栈吗?并且还会重新创建我的基本应用程序类吗?

2 个答案:

答案 0 :(得分:1)

根据活动的生命周期,在您的应用将被android操作系统杀死(以获取更多优先级应用的内存)之后,您的活动将从onCreate()方法开始,并照常执行整个周期。关于您的数据:

    如果您的视图具有ID,则将恢复
  1. 视图中的值(如EditText)。
  2. 您的变量值,建议您使用onSaveInstanceState()和onRestoreInstanceState()保存和还原。

答案 1 :(得分:0)

这里有两种情况:-

  • 如果您的应用程序仍在最近的应用程序中,并且其他应用程序需要内存,则您的应用程序将被Android操作系统杀死,如果再次打开它,它将从启动屏幕启动。

  • 如果您的应用程序在最近的应用程序中停留了很短的时间而不需要内存,那么您使用的最后一个活动将被打开,从onStart()开始其生命周期。

按下主屏幕按钮后,除非操作系统或用户这样做,否则它将调用onStop而不会破坏它。