【问题标题】:What if a process has been killed while its activities are still alive?如果一个进程在其活动仍然存在的情况下被杀死怎么办?
【发布时间】:2014-06-19 03:51:41
【问题描述】:

据我所知,在 Android 中,任何活动都必须属于给定进程。但是,Hello, Android 一书说:“活动生命周期与流程生命周期无关。”也就是说,即使进程已经被完全杀死,它的活动仍然可以存活!

让我感到困惑的是:因为活动的输入处理程序绑定到进程。如果进程已被杀死,它的活动如何响应用户的输入?

【问题讨论】:

  • 我认为“活动生命周期与流程生命周期无关”的意思正好相反:活动是在流程运行时创建和销毁的。当一个进程被杀死时,它的活动将无法生存。
  • 让我给出全文:“在Android中,即使它的进程被杀死,应用程序也可以“活着”。换句话说,活动生命周期与进程生命周期无关. 流程只是活动的一次性容器。这可能与您熟悉的所有其他系统不同,所以在继续之前让我们仔细看看。”
  • 嗯,可以终止一个进程(比如从内存不足的情况),然后可以从旧状态创建一个新的活动,但它不是 same 活动对象.很可能是指这个,但我认为这不是一个特别清楚的表达方式。

标签: android android-activity activity-lifecycle


【解决方案1】:

Activity 并不存在,因为它正在运行并且其输入处理程序正在运行,只是恢复 Activity 所需的所有信息都由操作系统存储,因此它可以随意重新创建它。

在您离开时的状态重新创建整个应用程序也会重新创建所有输入处理程序。

【讨论】:

    【解决方案2】:

    当一个进程被终止时,所有应用程序组件(活动、服务等)都将被销毁。但是,当具有活动的前台活动的进程死亡时,它将被重新启动(以及活动)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-08-07
      • 2012-01-21
      • 2013-08-05
      • 1970-01-01
      • 2016-04-16
      • 1970-01-01
      • 2019-07-11
      • 1970-01-01
      相关资源
      最近更新 更多