当用户从最近的应用程序中撤销已经被 OS 销毁的 activity 时会发生什么?

What happens when already destroyed activity by OS is revoked by user from recent apps?

据我所知,一个已经被Android系统破坏的应用驻留在最近的应用中。例如,我启动了我的应用程序并浏览了几个活动。然后退出,并打开其他几个应用程序,几个小时都没有再次启动我的应用程序。我最后打开的 activity 会留在最近的应用中,即使它已被系统销毁。我的问题是,当我从最近的应用程序列表中触摸我的应用程序时,生命周期方法是什么 运行 以及顺序是什么?另外,最近的应用程序中仍然显示的 activity 中的数据会怎样?它是从一开始就创建的吗?我还有 activity 堆栈吗?我的基础应用程序 class 也会重新创建吗?

根据 activity 的生命周期,在您的应用程序将被 android OS 杀死后(为更多优先应用程序获取内存),您的 activity会从onCreate()方法开始,像往常一样走循环)你的数据呢:

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

这里有两种情况:-

  • 如果您的应用程序仍然在最近的应用程序中很多时间并且其他应用程序需要内存您的应用程序将被Android OS杀死,如果您再次打开它它将启动来自闪屏。

  • 如果您的应用在 recent-apps 中停留的时间很短而不需要内存,您最后使用的 activity 将被打开,它的生命周期从 onStart() 开始。

一旦你按下主页按钮,它将调用 onStop 而不会破坏它,除非 OS 或用户这样做。