【问题标题】:why only main activity ondestroy is called in android when we close the app为什么当我们关闭应用程序时在android中只调用主要活动ondestroy
【发布时间】:2021-02-06 00:01:28
【问题描述】:

我的 android 应用程序包含许多活动。打开应用程序时调用的第一个活动是登录活动。之后,用户导航到许多活动。但是当用户关闭应用程序时,只会调用 Login 活动的 onDestroy 方法。为什么android系统只调用第一个活动onDestroy,不调用其他活动? 如果系统设计为只调用第一个活动 onDestroy,那么我们是否可以期望每次关闭应用时都会调用它?

【问题讨论】:

  • 怎么知道调用了onpy登录活动的onDestroy?你检查过日志吗?
  • 是的,我检查了日志。我从很多天都看到了这种行为。

标签: android


【解决方案1】:

根据onDestory()的Android开发者文档

在某些情况下,系统会简单地杀死活动的 托管进程而不在其中调用此方法(或任何其他方法),因此 它不应该被用来做打算留在身边的事情 进程结束后。

【讨论】:

    【解决方案2】:

    我也有类似的问题。

    简而言之,其他活动也被系统完全关闭,但它们的onDestroy()方法没有被调用。他们只会被杀。只有主要活动的onDestroy() 被调用。

    请阅读,valeonom 的 cmets:

    https://www.reddit.com/r/androiddev/comments/2s2hqh/whats_the_point_of_ondestroy_if_we_can_never/

    还有这个:

    Why only the first activity's `onDestroy` is called, not other activities?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-07-04
      • 1970-01-01
      • 2013-05-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多