【发布时间】:2020-04-23 00:31:16
【问题描述】:
这是我的设置 1. Main Activity - 包含 MainFragment Mainfragment - 有 MainFragViewModel
复制 - 1.在开发者设置中开启不保留活动。 2. 启动应用程序。 3. 按主页。
现在由于我们的设置,当应用程序进入后台时发生了以下活动。 1. Fragment View 模型 - onCleared() [UNEXPECTED, 因为系统正在杀死片段,并且应用程序进程没有被杀死。] 2. 碎片被破坏【预期】 3. Main Activity 被销毁 - isFinishing = false (这意味着框架知道谁在杀死)[预期] 4. 应用程序没有被销毁[预期]
现在从后台应用卡片再次启动应用。并发生了以下情况。 1. 主要活动 - onCreate(bundle != null) [预期。它还提供捆绑!都好] 2. 已创建片段 [预期 - 包已交付。即不为空] 3. FragmentViewModel 实例被创建 [UnExpected!!因为视图模型应该幸存下来。因为我们没有弹出片段。由于dev设置被系统杀死]
这种行为破坏了我的设计,并且为了让我的应用程序在开发者手机上正常运行,他们可能会转而不要保持活动。我必须将信息保存在Bundle中!!
我错过了什么?您有哪些可能的解决方案?
【问题讨论】:
标签: android mvvm viewmodel android-lifecycle