E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
livedatabus
Android-面试-Jetpack-LiveData-你必须滴知道得知道的那些玩意儿(1)
如何实现
LiveDataBus
?带着问题学习可以让我们在学习的过程中更加有目的性与条理。例如在读源码的过程中,我们如果从头开始读,往往千头万绪,抓不住要领。而如果在开始读之前先带着几个
m0_64603929
·
2024-09-12 08:45
程序员
面试
移动开发
android
使用
LiveDataBus
替代 EventBus
前言引用官方LiveData介绍LiveDataisanobservabledataholderclass.Unlikearegularobservable,LiveDataislifecycle-aware,meaningitrespectsthelifecycleofotherappcomponents,suchasactivities,fragments,orservices.Thisawa
一叶飘舟
·
2024-02-05 07:49
android
Kotlin版 自定义的
LiveDataBus
先上代码:objectLiveDataBusKT{//privatevalbus:MutableMap>bylazy{HashMap()}privatevalMAX_BUS_COUNT=100//最大允许的bus对象数量privatevalbus:LruCache>=LruCache(MAX_BUS_COUNT)//暴露一个线程安全的,给外界注册,订阅者关系@Synchronizedfunwith
呆咖啡
·
2023-12-29 08:45
kotlin
android
livedatabus
消息总线
组件间通信方案(六):自动感知生命周期事件总线
LiveDataBus
一、LiveDataLiveData是17年GoogleIO大会上提出来的一个新技术。相对于通信总线类型的框架EventBus和RxBus来说,它更简单,更简洁、更解耦。它具有以下优点:UI和实时数据保持一致因为LiveData采用的是观察者模式,这样一来就可以再数据发生改变时获得通知,更新UI避免内存泄漏观察者被绑定到组件的生命周期上,当被绑定的组件销毁(Destory)时,观察者会立刻自动清理
bug喵喵
·
2023-12-21 06:35
LiveData 粘性事件解决方案 附:简易
LiveDataBus
LiveData粘性事件解决方案**LiveData源码分析**privatevoidconsiderNotify(LiveData.ObserverWrapperobserver){if(!observer.mActive){return;}//Checklateststateb4dispatch.Maybeitchangedstatebutwedidn'tgettheeventyet.////
我星空
·
2023-10-30 17:07
android
移动开发
LiveDataBus
全局共用的消息事件总线,可代替EventBus解决简单的数据传递功能objectLiveDataBus{privatevarbus:MutableMap>=mutableMapOf()privatefunwith(key:String,type:Class):MutableLiveData{if(!bus.containsKey(key))bus[key]=MutableLiveData()ret
执念蓝枫
·
2023-10-25 18:44
Android 用
LiveDataBus
替代RxBus、EvenBus
最近使用Rxbus发现升级到33版本的时候,会出现报黄色,看着很不舒服。然后就想着找找替换的方案。查找了蛮多资料。发现版本大部分都是大同小异。就如下的链接的三个版本。第一个就是简单实现类型。也是之前Rxbus早期的原型。再就是后面我用来改良的版本。但是跟之前用的Rxbus又有点不一样。因为原先都是习惯了的懒人写法。所以就用当前的类名(XXX.getClass().getSimpleName())来
seven2729
·
2023-10-20 10:19
android
LiveDataBus
替代RxBus
EvenBus
手写FlowBus替代RxBus/EventBus/
LiveDataBus
LiveData的不足LiveData是一个专用于Android的具备自主生命周期感知能力的可观察的数据存储器类,被有意简化设计,这使得开发者很容易上手,但其不足有如下两点:LiveData只能在主线程更新数据(postValue底层也是切换到主线程的,而且可能会有丢数据的问题);LiveData操作符不够强大,对于较为复杂的交互数据流场景,建议使用RxJava或Flow;LiveData与And
今阳说
·
2023-09-30 23:33
关于LiveData粘性事件所带来问题的解决方案
数据倒灌背景缘由全貌独家解析Android开发者:[译]在SnackBar,Navigation和其他事件中使用LiveData(SingleLiveEvent案例)美团技术团队:Android消息总线的演进之路:用
LiveDataBus
慕尼黑凌晨四点
·
2023-09-30 01:25
livedatabus
详解,阿里是如何用他来做淘宝架构的
Google为了帮助Android开发者更快更好地开发App,推出了一系列组件,这些组件被打包成了一个整体,称作AndroidJetpack,它包含的组件如下图所示:图片发自App老的support包被整合进了Jetpack,例如上图Foundation模块的AppCompat,整合进去之后,包名做了一下修改,全部以androidx开头。AndroidStudio提供的迁移工具(Refactor>
十年开发程序员
·
2023-09-19 11:47
Android总线之
LiveDataBus
Android总线之LiveDataBusLiveDataBus概述一、定义
LiveDataBus
是用LiveData实现的事件总线工具类,用于实现数据传递,实现Android组件之间、组件与后台线程之间通信
Calvin880828
·
2023-09-09 05:57
Android基础
Android开源框架
android
rxjava
android
studio
LiveDataBus
其中的一个库LiveEventBus库的源码解析
EventBus事件通知的框架我们用了很久了,随着LiveData的出现,出现了
LiveDataBus
来替代EventBus,因为
LiveDataBus
会考虑生命周期,EventBus你可能要注意在生命周期结束的时候
zhouzhihao_07
·
2023-08-25 04:56
Jetpack
源码解析
LiveDataBus
LiveEventBus
EventBus3.0源码详解
详解之前要说明一下,
LivedataBus
比EventBus更适合目前jetpack化的app,因为考虑到组件的生命周期处理,性能方面,EventBus还是要反射invoke的调用的,网上找不到有实测过的博文
zhouzhihao_07
·
2023-08-25 04:56
Eventbus源码
手写简单的EventBus
关于事件-发布框架后来还出现了类似的Rxbus、
LiveDataBus
。这里就不做介绍。EventBus出现也有些年头了,目前的最新版本是3.2.0。
若无初见
·
2023-08-22 07:08
LiveDataBus
替代RxBus、EventBus
https://mp.weixin.qq.com/s?__biz=MjM5NjQ5MTI5OA==&mid=2651748475&idx=4&sn=8feb14dd49ce79726ecf12eb6c243740&chksm=bd12a1368a652820df7c556182d3494d84ae38d4aee4e84c48c227aa5083ebf2b1a0150cf1b5&scene=38#w
cain07
·
2023-07-24 14:35
LiveData那些事情,看我一篇就够了
LiveData那些事情,看我一篇就够了一.
LiveDataBus
事件总线封装二.
LiveDataBus
数据倒灌/粘性数据问题解决三.第三方:UnPeekLiveData一.
LiveDataBus
事件总线封装参考文章方案一
_yao_
·
2023-06-22 12:17
实训一
android
kotlin
开发语言
我直接拷贝LiveData源码来打造
LiveDataBus
LiveDataBus
已经是一个老生常谈的话题了,但是我们今天搞点不一样(噱)的(头)。
cyixlq
·
2023-06-15 07:36
Android不使用反射,完成
LiveDataBus
LiveDataBus
大家都很熟悉了,网上也有很多通过反射实现的
LiveDataBus
。但是通过反射实现的代码比较混乱,也比较难以理解。这里给出一版通过代码实现的。
liyihuanx
·
2023-04-08 09:35
事件总线方案实践
liveData实现事件总线目录介绍01.EventBus使用原理02.RxBus使用原理03.为何使用liveData04.
LiveDataBus
的组成05.
LiveDataBus
原理图06.简单的实现案例代码
杨充211
·
2023-04-05 12:47
Jetpack-LiveData
LiveData实现生命周期感知及避免内存泄漏的原因Android官方架构组件LiveData:观察者模式领域二三事LiveData的粘性事件用
LiveDataBus
替代RxBus、EventBus——
Showdy
·
2023-03-25 01:08
深入理解AAC架构 -
LiveDataBus
基于LiveData实现的事件总线
LiveData作为AAC架构的关键模块之一,具有优秀的生命周期感知特性。本身采用观察者模式,由于其生命周期感知特性,可以用来实现事件总线。本文主要内容:基本思路:基本的实现思路粘性事件特性分析:LiveData观察时推最新数据引发的问题解决思路:解决思路和引入粘性事件本文主要采用反射对Version进行管理,使用Class作为消息管理。也可以使用其他实现方案,或在参考后自建方案:Android消
七零八落问号
·
2023-03-17 23:38
LiveData工作原理分析
分析paging工作原理前,要先了解下LiveData确保UI符合数据状态不需要手动处理生命周期始终保持最新数据时间总线
LiveDataBus
1.LiveData设置的时候遵循的观察者模式,当宿主的生命状态发生改变
你的益达啊
·
2023-03-14 23:33
Android
android
java
apache
【转】反思 | 事件总线的局限性,组件化开发流程中通信机制的设计与实现
原文链接:https://blog.csdn.net/mq2553299/article/details/112724257阅读原文1阅读原文2背景诸如EventBus\RxBus\
LiveDataBus
littlefogcat
·
2023-02-18 17:28
基于 LiveData 封装
LiveDataBus
消息总线
1.
LiveDataBus
的封装通过map维护一个消息事件和MutableLiveData的映射关系,MutableLiveData的类型默认为Object,接收任意类型,实现总线通信将
LiveDataBus
wuchao226
·
2022-06-15 14:12
Android实现消息总线的几种方式详解
目录前言一、BroadcastReceiver广播二、EventBus三、RxBus四、
LiveDataBus
五、FlowBus总结前言消息总线又叫事件总线,为什么我们需要一个消息总线呢?
·
2022-06-15 12:31
基于LiveData的仿EventBus快速实现:
LiveDataBus
功能完善
对于黏性广播的问题,我们需要在之前的版本中,加上一个可选设置,默认为关闭状态;但是如何关闭这种功能,我们需要从LiveData事件分发机制里去查看://源码查看,包括postValue最终都是调用SetValue接口实现@MainThreadprotectedvoidsetValue(Tvalue){assertMainThread("setValue");mVersion++;//这里有个一个版
耗子JF
·
2022-02-15 07:00
基于LiveData的仿EventBus快速实现:
LiveDataBus
该Bus实际上是参考了网上资料和相关视频而实现的,【如有雷同,绝对不是巧合】,同时也感谢晚上各种提供资料的广大程序猿们,有兴趣的可以自己也写一个,简单好用:jetpact包中提供的LiveData实际上就已经包含了观察者模式以及对应的LifeOwner对于观察者的管理,官方维护绝对精品,质量有保障,所以我们要做的实际上就是简答的封装而已(站在巨人的肩膀上可以摔得更有范儿):日常我们正常使用Live
耗子JF
·
2022-02-10 20:28
Android 使用 LiveData 实现 EventBus
项目源码:https://github.com/LinYaoTian/
LiveDataBus
效果图:Tip:阅读本文最好对Jetpack的LIfeCycle和LiveData有初步的了解。
Lin_YT
·
2021-05-14 08:42
LiveDataBus
的升级版--LiveDataBusX
关于事件通讯框架,相信大家比较熟悉的有这么两个:EventBus和
LiveDataBus
(还有RxBus,和LiveDataBusX没什么关系,我就略过了)。
紫气东来_life
·
2021-02-14 21:56
移动架构
android
反思 | 事件总线的局限性,组件化开发流程中通信机制的设计与实现
背景诸如EventBus\RxBus\
LiveDataBus
的事件总线库在业内正遭滥用。
却把清梅嗅
·
2021-01-16 20:05
亲测解决升级为AndroidX出现:名称冲突: BusMutableLiveData中的observe(LifecycleOwner,Observer
Android一键升级为AndroidX(可参考:https://blog.csdn.net/weixin_40420578/article/details/100132061)
LiveDataBus
中出现的错误
週莫
·
2020-09-14 23:19
AS修炼手册
liveDataBus
使用篇
在工程的build.gradle配置allprojects{repositories{google()jcenter()maven{url'https://jitpack.io'}}}在model的build.gradle配置dependencies{implementation'com.github.zhudaihao:livedatbus-master:1.0.1'}现在就可以愉快的开始玩耍了
zhudaihai
·
2020-09-14 23:12
工具
控件
Android Jetpack-
LiveDataBus
使用
文章目录LiveEventBus的特点常用消息总线对比在工程中引用配置使用方法以生命周期感知模式订阅消息以Forever模式订阅和取消订阅消息发送消息跨进程、跨APP发送消息Sticky模式混淆规则参考:https://github.com/JeremyLiao/LiveEventBusLiveEventBus是一款Android消息总线,基于LiveData,具有生命周期感知能力,支持Stick
傅君阳
·
2020-09-14 22:03
05
Android
Jetpack
android
jetpack
LiveDataBus
LiveDataBus
使用
LiveDataBusLiveDataBus是基于LiveData实现的类似EventBus的消息通信框架,它是基于LiveData实现的.
LiveDataBus
的优点LiveData具有的这种可观察性和生命周期感知的能力使用者不用显示调用反注册方法
卧龙跃马
·
2020-09-14 21:36
JetPacks之Lifecycles原理
JetPacks之Lifecycles原理项目资源UML时序图读懂这里,查看下一篇
LiveDataBus
下一篇LiveData预备知识点「观察者模式-反射-注解」源码结构Lifecycle类是abstract
zcwfeng
·
2020-08-25 22:58
教你快速写一个EventBus框架
前言EventBus相信大多数人都用过,其具有方便灵活、解耦性强、体积小、简单易用等优点,虽然现在也有很多优秀的替代方案如RxBus、
LiveDataBus
等,但不可否认EventBus开创了消息总线时代
ZCrainy
·
2020-08-24 21:38
android
EventBus
Android 使用 LiveData 实现 EventBus
引用:Android消息总线的演进之路:用
LiveDataBus
替代RxB
Lin_YT
·
2020-08-24 16:48
android
jetpack
eventbus
LiveDataBus
的实现比你想象中的简单
为什么要用LiveData实现事件总线呢?LiveData是一种可观察的数据存储器类。与常规的可观察类不同,LiveData具有生命周期感知能力,意指它遵循其他应用组件(如Activity、Fragment或Service)的生命周期。这种感知能力可确保LiveData仅更新处于活跃生命周期状态的应用组件观察者。LiveData具有生命周期感知能力,确保界面符合数据状态,不会发生内存泄露,不会因A
BugRui
·
2020-08-11 14:52
android
LiveDataBus
使用方式
调用方式订阅消息observe生命周期感知,不需要手动取消订阅
LiveDataBus
.get().with("key_name",String.class).observe(this,newObserver
Godery
·
2020-08-11 13:34
android
LiveDataBus
使用
LiveDataBus
是在LiveData的基础上进行使用:LiveData使用LiveDataBusimportandroid.annotation.TargetApi;importandroid.arch.lifecycle.LifecycleOwner
晓果博客
·
2020-08-11 12:43
jetpack
Android通信方案
LiveDataBus
笔记
一:通信方案总结,对比1,Handler优点:系统原生,能实现线程间通信;缺点:高耦合,不利于维护,容易导致内存泄露和空指针;2,Boadcast优点:简单;缺点:性能差,传播数据有限。打乱代码的执行逻辑;3,Interface优点:速度快,容易理解;缺点:实现复杂,不利于维护;4,rxBus优点:效率高,无内存泄露;缺点:基于rxjava,学习成本高且依赖包太大,rxjava2.2M;5,Eve
androidforme
·
2020-08-11 11:16
Android进阶笔记
用
LiveDataBus
替代RxBus、EventBus——Android消息总线的演进之路
背景对于Android系统来说,消息传递是最基本的组件,每一个App内的不同页面,不同组件都在进行消息传递。消息传递既可以用于Android四大组件之间的通信,也可用于异步线程和主线程之间的通信。对于Android开发者来说,经常使用的消息传递方式有很多种,从最早使用的Handler、BroadcastReceiver、接口回调,到近几年流行的通信总线类框架EventBus、RxBus。Andro
weixin_33797791
·
2020-08-04 04:11
LiveDataBus
LiveDataBus
.get().with("key_test",String.class).observe(this,newObserver(){@OverridepublicvoidonChanged
平心静气Thinkle
·
2020-08-03 09:52
Android
PDA
AndroidTV
Focus
Android
LiveDatabus
非黏性事件
4.
LiveDataBus
的完整代码为:5.结语1.网上取消黏性事件的方法及实验结果在Act
luotianyi_yi
·
2020-08-03 01:48
Android
事件总线
响应式编程
LiveDataBus
实现原理#用法详解#LiveData扩展
LiveDataBus
实现原理#LiveData源码分析一、
liveDataBus
简单实现publicclassLiveDataBus{privatefinalMap>mBus;privateLiveDataBus
LazyestCoder
·
2020-08-03 00:32
架构
LiveData源码解析
LiveData作为jettpack的一环,常搭配ViewModel一起使用;相比于RxJava,用LiveData封装的
LiveDataBus
更加简洁方便,并且LiveData会感知页面的信息变化,当页面是不可见的时候
迷途の知归
·
2020-08-02 21:05
Android
Android LiveData组件详解以及
LiveDataBus
转载请标明出处:https://blog.csdn.net/zhaoyanjun6/article/details/99749323本文出自【赵彦军的博客】一、LiveData简介LiveData是一个可以被观察的数据持有类,它可以感知Activity、Fragment或Service等组件的生命周期。简单来说,他主要有一下优点。它可以做到在组件处于激活状态的时候才会回调相应的方法,从而刷新相应的
赵彦军
·
2020-08-01 08:52
android
LiveDataBus
消息事件总线
代码地址:https://github.com/ewgcat/LiveDataBusExample1.LiveData是AndroidArchitectureComponents提出的框架。LiveData是一个可以被观察的数据持有类,它可以感知并遵循Activity、Fragment或Service等组件的生命周期。正是由于LiveData对组件生命周期可感知特点,因此可以做到仅在组件处于生命周
静默的小猫
·
2020-07-28 11:31
消息总线
LiveDataBus
,替换Rxbus/eventBus
在这之前,我们会用广播或者eventBus或者Rxbus去做消息的传递,但是现在开始我们可以用
LiveDataBus
了,相比前面这些消息总线框架,
LiveDataBus
有如下好处:1.
LiveDataBus
remax1
·
2020-07-16 11:29
livedatabus
详解,阿里是如何用他来做淘宝架构的?
Google为了帮助Android开发者更快更好地开发App,推出了一系列组件,这些组件被打包成了一个整体,称作AndroidJetpack,它包含的组件如下图所示:老的support包被整合进了Jetpack,例如上图Foundation模块的AppCompat,整合进去之后,包名做了一下修改,全部以androidx开头。AndroidStudio提供的迁移工具(Refactor>Migrate
weixin_33770878
·
2020-07-15 04:56
上一页
1
2
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他