android - MVVMCross 6.4.3 还原未按预期工作
问题描述
我有一个视图 (A),我可以从中导航到另一个视图 (B)
如果我在查看视图 B 时墓碑应用程序
当我恢复它时,我看到以下内容被调用
- 视图 B - 构造函数
- 视图 B - 从 Bundle 重新加载
- 视图 B - 准备
- 视图 B - 初始化
只有当我关闭视图 B 时,我才会看到以下内容
- 视图 A - 构造函数
- 视图 A - 从 Bundle 重新加载
- 视图 A - 准备
- 视图 A - 初始化
我本来希望在恢复时看到视图 A 的生命周期事件,然后是视图 B 的生命周期事件。这是因为我认为完整的层次结构是在恢复完成之前构建的。
我错了,还是我在这里遗漏了什么?
有人可以确认预期的行为。
解决方案
不,当您在视图 B 上然后关闭视图 B 时,您看不到所有这些调用的函数:
- 视图 A - 构造函数
- 视图 A - 从 Bundle 重新加载
- 视图 A - 准备
- 视图 A - 初始化
您需要了解为什么每个都被调用。仅当创建该 ViewModel 的新实例时才调用构造函数。关闭 B 不会创建新实例。您必须关闭视图 A,同时确保所有内容都已处理,然后重新打开它。
同样,其他生命周期函数也有其用途。您可能想要使用 Did Appear 覆盖。
要验证这一点,您还可以创建一个简单的示例并添加日志记录。
推荐阅读
- mongodb - 从值字段中删除“\n”会导致 mongo db
- regex - 如何使用perl从数组中提取子数组
- spring-boot - 在 TomEE 7.1.0 中部署 Spring-boot Web 项目
- css - 仅使用 Bootstrap 的移动设备上奇怪的灰色按钮背景
- sql-server - SQLServer 高棉语空检查失败
- c++ - 如何在 Windows 上的 qt 项目中使用 gstreamer?
- sql - 为什么在某些情况下错误消息 SQL Conversion failed (date) 而在其他情况下却没有?
- python - pandas - 根据另一列中的每个唯一值计算 DataFrame 中某个值的出现次数
- android - Android Studio:java.security.cert.CertPathValidatorException:找不到证书路径的信任锚
- angular - Ionic4:如何从侧边菜单打开外部链接