【问题标题】:Android 11 onCreate() call is missing every second timeAndroid 11 onCreate() 调用每秒钟都丢失
【发布时间】:2021-01-21 07:53:50
【问题描述】:

在 Android 11 上运行时,一个成熟的应用突然出现了前所未有的生命周期问题:

  • 开始调试
  • onCreate() 被调用
  • onStart() 被调用
  • onResume() 被调用
  • 应用正在运行
  • 用户完成应用程序
  • onStop() 被调用
  • 用户点击应用图标
  • onDestroy() 被调用
  • onCreate() 被调用
  • onStart() 被调用
  • onResume() 被调用
  • 应用正在运行
  • 用户完成应用程序
  • onStop() 被调用
  • 用户点击应用图标
  • 空窗弹出,没有调用,应用被屏蔽

这种情况会在用户每两次启动应用时发生。我不知道为什么会发生这种情况——当用户点击应用程序图标时,我希望 Android 总是调用 onCreate() 或 onStart()。有什么想法吗?

【问题讨论】:

  • onResume() 呢?
  • 应用程序中是否运行任何服务?在这些“重新启动”之后可能无法正确清除和/或重新初始化的任何资源?
  • 我在上面添加了 onResume() 调用。
  • 没有服务在运行,也没有未清理的资源。

标签: android lifecycle blocked


【解决方案1】:

我发现了错误:我在 super.onDestroy() 处设置了断点,而不是在 onDestroy() 的开头。由于此函数在第二次运行时没有准备好,并且从未调用 super.onDestroy(),因此最后一次 onCreate() 从未发生。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-09
    • 2010-10-22
    • 1970-01-01
    • 2020-03-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多