小编Jai*_*dit的帖子

当“不保持活动”开发选项打开时,ViewModel 会被清除

这是我的设置 1. Main Activity - Contains MainFragment Mainfragment - Has MainFragViewModel

重现 - 1. 在开发者设置中打开不保留活动。2. 启动应用程序。3. 按主页。

现在,由于我们的设置,当应用程序进入后台时会发生以下活动。1. 片段视图模型 - onCleared() [意外,因为系统正在杀死片段,并且应用程序进程没有被杀死。] 2. 片段被破坏 [预期] 3. 主活动被破坏 - isFinishing = false(这意味着框架知道谁正在杀死)[预期] 4.应用程序没有被破坏[预期]

现在从后台应用程序卡再次启动应用程序。接下来发生了。1. 主要活动 - onCreate(bundle != null) [预期。还送了捆绑包!一切顺利] 2. 片段已创建 [预期 - 捆绑包已交付。即不为空] 3. FragmentViewModel 实例已创建 [意外!!因为视图模型应该存活下来。因为我们没有弹出片段。由于dev设置被系统杀掉了]

这种行为破坏了我的设计,并且为了使我的应用程序在开发人员手机上正常工作,他们可能会不保持活动。我必须将信息保存在捆绑包中!

我缺少什么?您可能的解决方案是什么?

android mvvm viewmodel android-lifecycle

5
推荐指数
1
解决办法
1668
查看次数

标签 统计

android ×1

android-lifecycle ×1

mvvm ×1

viewmodel ×1