gpt4 book ai didi

android - 轮换 Activity 时如何不破坏ViewModel

转载 作者:行者123 更新时间:2023-12-03 10:41:56 27 4
gpt4 key购买 nike

我很想知道,当Activity旋转时,ViewModel如何生存,因为它被销毁并再次创建。从逻辑上看,如果负责创建ViewModel的 Activity 被销毁,则ViewModel被销毁。而且,当我们旋转设备时, Activity 就被破坏了。

ViewModel如何知道Activity已完全完成,以便可以销毁自己?因为设备旋转时也会多次调用onDestroy,所以当 Activity 完全销毁时,ViewModel的onCleared方法如何触发?

最佳答案

ViewModels具有生命周期意识,这意味着在创建 View 模型时,您需要将LifecycleOwner传递给VM。这有助于 View 模型获取上下文的状态( Activity ,片段等)。
这允许 View 模型仅在状态为 Activity 状态时才将更改广播给其观察者。

请引用以下链接以获取更多信息

https://developer.android.com/topic/libraries/architecture/lifecycle#lco
https://codelabs.developers.google.com/codelabs/android-lifecycles/#4

关于android - 轮换 Activity 时如何不破坏ViewModel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59004847/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com