![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Jetpack
扶苏有情
这个作者很懒,什么都没留下…
展开
-
Jetpack---LiveData
1.livedata 是一个可被观察的数据容器类,可将数据包装起来,是数据成为被观察者,当数据发生变化的时候能够让观察者得到通知,使用不需要自己实现观察者模式,livedata内部已经实现好。同时livedata具有生命感知能力,可确保 LiveData 仅更新处于活跃生命周期状态的应用组件观察者。页面处于(Lifecycle.State.ON_STARTED或Lifecycle.State.ON_RESUME)页面能够收到livedata的通知,若页面被销毁(Lifecycle.State.ON_DEST原创 2020-08-17 16:40:37 · 163 阅读 · 0 评论 -
Jetpack---ViewModel ,View与Model间的桥梁
1.使用背景:在页面中通常会将ui交互,与数据获取等相关业务都写在一个页面中,这样做不符合单一功能原则。为了更好的划分清楚 使用viewModel存放页面所需要的数据,页面只需要做交互和展示即可。 2.横竖屏转换:ViewModel生命周期 旋转屏幕会导致activity重建,但不影响viewModel的生命周期 3.viewModel与onSaveInstanceState() 区别 onSaveInstanceState只能保存少量的 支持序列化的数据 viewModel没有这个限制,..原创 2020-08-03 13:56:04 · 288 阅读 · 0 评论 -
Jetpack---LifeCycle 组件内部管理自己的生命周期
1.使用背景:我们希望组件不依赖于页面生命周期的回调方法,同时在生命周期变化的时候也能及时收到通知的背景下使用。 2.原理:观察者模式:两个类分别是LifecycleOwner(被观察者) 和LifecycleObserver(观察者),新版本SDK中 SupportActivity默认实现了LifecycleOwner接口中的getLifecycle(LifecycleObserver)方法 详细看代码。所以只需要实现观察者LifecycleObserver那部分代码即可。 3.使用方法: .原创 2020-08-03 12:00:17 · 194 阅读 · 0 评论