【问题标题】:Why only the first activity's `onDestroy` is called, not other activities?为什么只调用第一个活动的`onDestroy`,而不调用其他活动?
【发布时间】:2021-02-05 14:32:52
【问题描述】:

(我搜索了很多,但似乎没有确切的答案。)

假设有一个应用程序。我们可以按下一个按钮来开始另一个活动。

像这样:Activity1 -> Activity2 -> Activity3

如果我们使用“后退”按钮,它会调用finish(),因此每个活动的onDestroy() 都会被调用。

但是,如果我们关闭应用程序(通过按下“概览”按钮然后将应用程序滑出),

只有Activity1onDestroy() 被调用。

  1. 为什么不调用其他活动的onDestroy()
  2. 这是否意味着其他活动在系统杀死它们之前活着? (如果系统有足够的资源,它们不会被销毁?)

【问题讨论】:

    标签: android android-activity android-lifecycle


    【解决方案1】:

    理想情况下,当您从overview 强制关闭App 时,它会杀死整个应用程序进程并且所有activities 都被销毁,并且您的活动堆栈根(即ActivityAonDestroy 方法被调用对于其他activitiesmethod 不会被触发,但stack 本身会随着该过程而被破坏。一旦进程被销毁,任何东西都不会活着。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-02-17
      • 1970-01-01
      • 1970-01-01
      • 2018-09-09
      • 1970-01-01
      • 1970-01-01
      • 2022-01-18
      • 2016-03-21
      相关资源
      最近更新 更多