【问题标题】:MVVMCross 6.4.3 Restore is not working as expectedMVVMCross 6.4.3 还原未按预期工作
【发布时间】:2020-12-03 11:22:31
【问题描述】:

我有一个视图 (A),我可以从中导航到另一个视图 (B)

如果我在查看视图 B 时墓碑应用程序

当我恢复它时,我看到以下内容被调用

  • 视图 B - 构造函数
  • 视图 B - 从 Bundle 重新加载
  • 视图 B - 准备
  • 视图 B - 初始化

只有当我关闭视图 B 时,我才会看到以下内容

  • 视图 A - 构造函数
  • 视图 A - 从 Bundle 重新加载
  • 视图 A - 准备
  • 视图 A - 初始化

我希望在还原时看到视图 A 的生命周期事件,然后是视图 B 的生命周期事件。这是因为我认为完整的层次结构是在还原完成之前构建的。

我错了,还是我在这里遗漏了什么?

有人可以确认预期的行为吗?

【问题讨论】:

    标签: android mvvmcross tombstoning


    【解决方案1】:

    不,当您在视图 B 上然后关闭视图 B 时,您看不到所有这些调用的函数:

    • 视图 A - 构造函数
    • 视图 A - 从 Bundle 重新加载
    • 视图 A - 准备
    • 视图 A - 初始化

    您需要了解为什么要调用每一个。仅当创建该 ViewModel 的新实例时才调用构造函数。关闭 B 不会创建新实例。您必须关闭视图 A,同时确保所有内容都已处理完毕,然后重新打开它。

    同样,其他生命周期函数也有其用途。您可能想要使用 Did Appear 覆盖。

    要验证这一点,您还可以创建一个简单的示例并添加日志记录。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-09-17
      • 2018-09-01
      • 2019-03-07
      • 2021-06-04
      • 2022-01-24
      • 2015-05-11
      • 2020-05-15
      • 2014-10-31
      相关资源
      最近更新 更多