Android 11 onCreate() 调用每秒钟都丢失
Posted
技术标签:
【中文标题】Android 11 onCreate() 调用每秒钟都丢失【英文标题】:Android 11 onCreate() call is missing every second time 【发布时间】:2021-01-21 07:53:50 【问题描述】:在 android 11 上运行时,一个成熟的应用突然出现了前所未有的生命周期问题:
开始调试 onCreate() 被调用 onStart() 被调用 onResume() 被调用 应用正在运行 用户完成应用程序 onStop() 被调用 用户点击应用图标 onDestroy() 被调用 onCreate() 被调用 onStart() 被调用 onResume() 被调用 应用正在运行 用户完成应用程序 onStop() 被调用 用户点击应用图标 空窗弹出,没有调用,应用被屏蔽这种情况会在用户每两次启动应用时发生。我不知道为什么会发生这种情况——当用户点击应用程序图标时,我希望 Android 总是调用 onCreate() 或 onStart()。有什么想法吗?
【问题讨论】:
onResume()
呢?
应用程序中是否运行任何服务?在这些“重新启动”之后可能无法正确清除和/或重新初始化的任何资源?
我在上面添加了 onResume() 调用。
没有服务在运行,也没有未清理的资源。
【参考方案1】:
我发现了错误:我在 super.onDestroy() 处设置了断点,而不是在 onDestroy() 的开头。由于此函数在第二次运行时没有准备好,并且从未调用 super.onDestroy(),因此最后一次 onCreate() 从未发生。
【讨论】:
以上是关于Android 11 onCreate() 调用每秒钟都丢失的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Android 缓存视图并避免每次都调用 onCreate
在 OnCreate() Android 中为联系人调用 onActivityResult
android中的fragment是先执行oncreate还是oncreateview
android 关于为什么在onCreate里调用view.getChildAt.getLeft() 没有值!