【问题标题】:lifetime of ViewModels not finish on destroy of activityViewModel 的生命周期未在销毁活动时完成
【发布时间】:2020-10-29 18:31:09
【问题描述】:

根据文档,视图模型会一直保留在内存中,直到活动完成或片段分离。 他们还举例说明了视图模型在配置更改中仍然存在,但是 在完成()方法调用后销毁。

但是,当配置发生变化时,有 ondestroy() 方法。 viewmodel的onclear()方法怎么做 不调用这个 ondestroy() 方法进行配置更改,但可以调用 ondestroy() ,这是通过 backpressing 实现的。

请帮助我理解这个概念。 文件: https://developer.android.com/topic/libraries/architecture/viewmodel#lifecycle

【问题讨论】:

  • 但是从链接很明显必须调用 finsh 。你有什么不明白的?
  • 它会等待一段时间,如果在重新创建 onDestroy 活动之后(如果在 onDestroy 之后调用 onCreate)视图模型将不会调用 onClear 否则它将调用视图模型的 onClear .
  • @Selvin finish() 方法不能直接工作。它最终会调用 onPause()、onStop() 和最后的 onDestroy

标签: android android-lifecycle android-jetpack android-viewmodel android-mvvm


【解决方案1】:

终于在网上搜索了几个小时并查看了 viewmodel 的实际代码后,我明白了 viewmodel 在配置更改中的生存背后的真正奥秘。

您也可以参考此链接。它有很好的解释。 https://proandroiddev.com/the-curious-case-of-survival-of-viewmodel-afe074992fbc

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-01-03
    • 1970-01-01
    • 1970-01-01
    • 2018-11-18
    • 1970-01-01
    • 1970-01-01
    • 2014-05-18
    相关资源
    最近更新 更多