美文网首页
随便写写

随便写写

作者: 蓝库知识 | 来源:发表于2023-11-01 16:22 被阅读0次

    总结:

    1. Lifecycle原理简单来讲,被观察患者被添加到LifecycleRegistry,然后将此类与ReportFragment绑定,利用reportFragment生命周期的变化,去分发通知LifecycleRegistry 状态的变更,然后去通知每位被观察者
    2. LiveData,持有LifecycleOwner 的引用,当调用observe的时候会,作为被观察者注入到lifecycle中,从而具备了生命周期的能力,然后判断是否是活跃状态,然后调用处理Ui的回调
    3. viewModel 具有生命周期能力和保存数据的能力,当activity/fragment销毁的时候,viewModel会在lifecycle的生命周期回调中自动调clear销毁;保存数据的能力是因为,viewModel都保存在viewModelStore中,每次viewModel创建的时候,都会检查viewModelStore中是否存在,存在则不会再次创建;对于旋转屏幕保存数据,onRetainNonConfigurationInstance 保存数据 getLastCustomNonConfigurationInstance 恢复数据,所以在此创建viewModel的时候,会查缓存,有就直接用了

    相关文章

      网友评论

          本文标题:随便写写

          本文链接:https://www.haomeiwen.com/subject/cwhgidtx.html