livedata
文章平均质量分 89
锐湃
这个作者很懒,什么都没留下…
展开
-
MediatorLiveData实现红点的统一管理
到这里就结束了,App端内实现红点的统一管理,如果有类似的场景,可以用这种思路去实现。上面的例子比较简单,更复杂的场景,应该也是可以基于上面的方案进行改造一下的。Android 基于MediatorLiveData实现红点的统一管理 – 悠悠之家。转载 2023-04-12 15:26:13 · 167 阅读 · 0 评论 -
MediatorLiveData的使用与原理解析
还是老办法,看源码先看注释。这里的MediatorLiveData直接翻译就是中间物LiveData,它是由其他LiveData而来的LiveData。复制代码是LiveData的子类,它可以观察其他LiveData对象,并对他们的onChanged事件做出反应。复制代码假如有个LiveData分别命名为liveData1和liveData2,然后把他们的发射产物放入到一个对象中,这个对象叫做liveDataMerger。转载 2023-04-12 13:19:27 · 728 阅读 · 0 评论 -
简单粗暴解决LiveData『数据倒灌』的问题
总结:当我们setValue时,mVersion会从-1开始自增,之后我们去observe时,由于observer的mLastVersion的初始值是-1,比mVersion小,所以监听者observe时,会立马把旧的数据回调给监听者。一句话总结就是:先给LiveData设置了value,然后监听者才开始对LiveData进行监听,这时LiveData的value会立马回调给监听者。虽然从google设计者的角度来看,这并不是一个设计缺陷,但从我们使用者角度来看,其实很多场景下这并不是我们想要的。转载 2023-04-12 11:12:10 · 614 阅读 · 0 评论 -
LiveData postValue会“丢”数据
来看看控制台:只有 for 循环最后一次 postValue 的值 2 打印了出来。为什么不是 0、1、2 都打印出来呢?LiveData 有 setValue 和 postValue 两种通知观察者的方法,postValue 从上看有点问题?那我们来试试 setValue。将上面的实验代码 postValue 改为 setValue:再看看控制台: 怎么也是这样呢。严重怀疑 setValue 和 postValue 有毛病,得治。这两次实验都是在 onCreate 里完成的,要不要尝试把调转载 2022-07-01 11:04:27 · 1333 阅读 · 0 评论 -
为什么Google要将LiveData设计成粘性的
相信很多人在职业生涯的面试过程中都被问过一个问题?这确实是一个值得深入思考的知识点,今天就让我们站在Google设计者的角度来深入学习一下。关于这个问题,我们首先应该知道,粘性是什么意思?不知道你对熟不熟悉,我第一次接触粘性这个概念,就来自于的粘性事件。所以粘性其实就可以理解为观察者模式的升级,让观察者与被观察者对象之间更加的粘合。正常情况下,我们需要先注册观察者对象,然后再去更改被观察者对象,这样观察者对象才能接收到这个观察事件。而粘性,则支持先去触发更改被观察者对象,产生观察事件,然后再去注册观察者对象转载 2022-06-07 09:50:32 · 101 阅读 · 0 评论 -
关于 LiveData 粘性事件的个人思考
1. 问题描述 1.1. LiveData特性: Google官方文档中描述,设备横竖屏切换的时候,界面销毁重建,但是Activity生命周期并未结束,旋转后新建的空页面上数据需要重新填充,所以LiveData在被再次观察时会立即推送数据更新。 Google文档 ViewModel生命周期 未使用LiveData效果演示使用LiveData效果演示1.2. 源码分析: LiveData关于此特性的源码分析,有兴趣的可以看看下面的.转载 2022-05-18 21:35:55 · 679 阅读 · 0 评论 -
LiveData 解答、源码分析
引子LiveData 是能感知生命周期的,可观察的,粘性的,数据持有者。LiveData 用于以“数据驱动”方式更新界面。换一种描述方式:LiveData 缓存了最新的数据并将其传递给正活跃的组件。关于数据驱动的详解可以点击我是怎么把业务代码越写越复杂的 | MVP - MVVM - Clean Architecture。这一篇就 LiveData 的面试题做一个归总、分析、解答。1. LiveData 如何感知生命周期的变化?先总结,再分析:Jetpack 引入了 Lifec转载 2022-05-18 17:18:47 · 337 阅读 · 0 评论 -
Android LiveData 使用详解
说在前面本次推出 Android Architecture Components 系列文章,目前写好了四篇,主要是关于 lifecycle,livedata 的使用和源码分析,其余的 Navigation, Paging library,Room,WorkMannager 等春节结束之后会更新,欢迎关注我的公众号,有更新的话会第一时间会在公众号上面通知。Android lifecycle 使用详解Android LiveData 使用详解Android lifecyle 源码解剖Andro转载 2021-03-10 20:51:19 · 315 阅读 · 0 评论 -
Android开发 LiveData与MutableLiveData详解
前言 LiveData与ViewMode是经常搭配在一起使用的,但是为了不太混乱,我还是拆分开来说明,此篇博客只讲解 LiveData 与MutableLiveData的概念与使用方式(但是会涉及到ViewMode的部分代码).LiveData是干什么的? 由于LiveData和MutableLiveData都是一个概念的东西(只是作用范围不同)所以就不重复解释了,直接理解LiveData就可以明白MutableLiveData 直接理解LiveData的字面意思是前台数据,其实这其.转载 2021-02-27 23:58:54 · 421 阅读 · 0 评论