![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Jetpack
文章平均质量分 84
sunbinkang
智能家居,互聯網,多媒體
展开
-
Android Jetpack架构组件之ViewModel原理篇
上一篇文章讲了viewmodel的简单使用Android Jetpack架构组件之ViewModel使用篇一、ViewModelViewModel是Jetpack AAC的重要组件,同时也有一个同名抽象类。 ViewModel,意为 视图模型,即为界面准备数据的模型。简单理解就是,ViewModel为UI层提供数据。独立的看ViewModel没有什么实际意义,更像是数据容器,结合LiveData使用更容易理解。二、ViewModel的好处1、Activity配置更改重建时(比如屏幕旋原创 2021-10-01 13:38:24 · 411 阅读 · 0 评论 -
Android Jetpack架构组件之ViewModel使用篇
一、ViewModel的介绍ViewModel 具有生命周期意识,会自动存储和管理 UI 相关的数据,即使设备配置发生变化后数据还会存在,我们就不需要在 onSaveInstanceState 保存数据,在 onCreate 中恢复数据了,使用 ViewModel 这部分工作就不需要我们做了,很好地将视图与逻辑分离开来。ViewModel生命周期相信大家都看过这张ViewModel生命周期图。从 OnCreate 获取到 ViewModel 之后,它会一直存在,直到该 ViewModel..原创 2021-09-26 11:41:57 · 509 阅读 · 0 评论 -
Android Jetpack架构组件之Lifecycle原理篇
上一篇文章介绍过了Jetpack的Lifecycle的简单使用,使用起来非常方便,帮我们节省了很多复杂的代码,就能允许其他对象对生命周期的感知。这篇文章从Google源码分析其原理。源码环境:Androidxandroid { compileSdkVersion 30 buildToolsVersion "30.0.2" defaultConfig { applicationId "com.example.testproject" ...原创 2021-06-23 12:15:10 · 340 阅读 · 1 评论 -
Android Jetpack架构组件之LifeCycle使用篇
一、LifeCycle的简单介绍 LifeCycle是Jetpack中的一个组件,它的功能就是能感知生命周期的变化。这么说可能很抽象,就简单理解为LifeCycle就是一个类:LifeCycle.java,我们可以借助这个类的功能来让我们在Android中写的代码,除了Activity或Fragment这两个类本身有生命周期,其他类都能感知这两个类的生命周期变化,而且使用起来特别方便,底层都由Google封装好了。当然你会说,我们自己也可以实现这个功能呀,用接口回调或者一些第三方消息通知框...原创 2021-06-22 17:43:53 · 1147 阅读 · 0 评论 -
Android Jetpack架构组件之LiveData原理篇
LiveData的原理:使用了观察者设计模式,但是这个观察者是跟生命周期拥有者(Activity或Fragment)绑定了生命周期的,想要了解LiveData的原理,还要先理解Lifecycle的原理,因为里面表面是LiveData和Observer建立观察者模式,但实际最终还是LifecycleOwner和LifecycleObserver建立的观察者模式。我这里先梳理一个各函数的流程:注册的流程:LiveData(observe)--->LifecycleRegistry(addObs原创 2021-09-25 23:23:54 · 301 阅读 · 0 评论 -
Android Jetpack架构组件之LiveData使用篇
一、LiveData介绍 从字面意思看出,有生命的数据,LiveData 是一个可以被观察的数据持有类,它可以感知 Activity、Fragment 等组件的生命周期。1、它可以做到在组件处于激活状态的时候才会回调相应的方法,从而刷新相应的 UI;2、不用担心发生内存泄漏;3、当 config 导致 activity 重新创建的时候,不需要手动取处理数据的储存和恢复。它已经帮我们封装好了;4、当 Actiivty 不是处于激活状态的时候,如果你想 livedata setVal...原创 2021-06-25 19:44:42 · 353 阅读 · 1 评论