Rxjava中使用AutoDispose(版本1.4.0)解决内存泄漏的原理分析问题:AutoDispose主要是通过监听view的生命周期来解决使用Rxjava时的内存泄漏的,那么view的生命周期和Rxjava的链式调用是如何关联的?在Activity中使用非常简单,入口如下:Observable.create(new ObservableOnSubscribe<String>()
转载
2024-09-06 21:52:37
39阅读
目录subscribeOn操作符demo实例如何切换的线程 subscribeOn操作符上一节我们分析了observerOn操作符,它是可以切换onNext,onComplete所在线程的,也就是事件消费的线程;这一节我们来分析subscribeOn操作符,这个操作符是用来切换createEmitter类的subscribe方法的线程的,也就是切换事件发射所在的线程。demo实例按照惯例还是用一
# RxJava BehaviorSubject 替换实现教程
## 1. 简介
RxJava是一个利用可观察序列来组成异步事件和基于事件响应的程序库。BehaviorSubject是RxJava中的一个特殊类型的可观察序列,它可以发射最近的一个事件给新的观察者,并且可以缓存和重播多个事件。本文将教会刚入行的开发者如何实现"RxJava BehaviorSubject 替换"。
## 2.
原创
2023-10-28 07:30:44
20阅读
1.Flow流程中为什么是【冷】的先看一段Flow的使用代码:fun main() = runBlocking {
flow {
emit(0)
emit(1)
emit(2)
emit(3)
}.collect{
println("it:$it")
}
println("end")
转载
2024-10-06 14:02:01
97阅读
前言本文旨在通过实际业务场景阐述如何使用Kotlin Flow解决Android开发中的痛点问题,进而研究如何优雅地使用Flow以及纠正部分典型的使用误区。有关Flow的介绍及其操作符用法可以参考:异步流 - Kotlin 语言中文站,本文不做赘述。基于LiveData+ViewModel的MVVM架构在某些场景下(以横竖屏为典型)存在局限性,本文会顺势介绍适合Android开发的基于Flow/C
转载
2024-09-12 12:11:28
134阅读
# Android中使用RxJava替换Handler和AsyncTask
在Android开发中,处理异步任务一般会用到`Handler`或`AsyncTask`。但是,这两种方式都存在一些局限性,例如代码耦合度高、错误处理不够灵活等。随着RxJava的兴起,我们可以轻松地替代这两种传统的异步处理方式,以实现更简洁、易维护的代码。
## 什么是RxJava?
RxJava是一个基于观察者设
原创
2024-08-27 05:31:36
27阅读
# 协程如何替换RxJava:解决实际问题
在现代Android开发和其他基于JVM的应用程序中,异步编程是一项至关重要的技能。过去几年,RxJava凭借其响应式编程风格成为异步编程的一种流行选择。然而,随着Kotlin引入的协程特性,许多开发者开始考虑是否可以用协程替代RxJava。本文将探讨如何使用协程替换RxJava来解决一个实际问题,并提供具体的示例。
## 什么是RxJava?
R
# 使用RxJava替代Handler进行网络请求
在Android开发中,处理网络请求通常需要使用Handler来更新UI线程。这种方法虽然有效,但在复杂的应用中,代码的可读性和维护性较差。为此,开发者们开始逐渐使用RxJava来简化这一过程。本文将介绍如何使用RxJava替换Handler来处理网络请求,并附带相应的代码示例。
## 什么是RxJava?
RxJava是一个基于观察者模式
原创
2024-10-13 05:38:22
15阅读
目录【Koltin Flow(一)】五种创建flow的方式【Koltin Flow(二)】Flow操作符之末端操作符【Koltin Flow(三)】Flow操作符之中间操作符(一)【Koltin Flow(三)】Flow操作符之中间操作符(二)【Koltin Flow(三)】Flow操作符之中间操作符(三)【Koltin Flow(四)】Flow背压【Koltin Flow(五)】SharedFl
转载
2024-02-29 09:23:54
73阅读
前言在开发过程中,我们会遇到很多使用线程池的业务场景,例如异步短信通知、异步记录操作日志。大多数使用线程池的场景,就是会将一些可以进行异步操作的业务放在线程池中去完成。例如在生成订单的时候给用户发送短信,生成订单的结果不应该被发送短信的成功与否所左右,也就是说生成订单这个主操作是不依赖于发送短信这个操作,所以我们就可以把发送短信这个操作置为异步操作。那么本文就是来看看Spring中提供的优雅的异步
转载
2024-06-19 19:46:04
473阅读
RxJava的常规写法一个具体的例子---从普通写法逐渐演变成RxJava写法总结1. RxJava 的常规写法有人说RxJava非常好用,那么,它究竟好用在哪里?今天来具体分析下。首先,先来阐述RxJava到底是什么,RxJava官方的解释是:“a library for composing asynchronous and event-based programs using observab
转载
2023-09-04 13:40:59
63阅读
前言Rxjava越来越火,现在是Android里面一个重要的框架,想要进阶安卓就想必要去了解一下什么是Rxjava。看了很多关于Rxjava的文章,故此留下学习的印记,让自己或者有需要的人去学习了解接触。然后一步一步去揭开Rxjava神秘的面纱~Rxjava是什么引用官方的一句话- “a library for composing asynchronous and event-based prog
转载
2023-08-20 23:29:01
128阅读
引言 开始重读<<JavaScript高级程序设计>>一书,看到关于JavaScript中关于defer、async的部分。网上查询了点资料,觉得蛮好的。现在总结下。defer/async(Html5新增) 首先我们来看一下在<script>标签中如何使用这两个属,如下:1 <script type="text/javascript" defer="d
转载
2023-06-05 14:35:40
112阅读
想写好一篇文章确实不容易,感谢那些大牛们能够分享自己的所见所得。关于rxjava的原理以及观察者模式等理论性的内容我就不在这里献丑了,网上有很多很优秀的博客。回头我添加几篇到这里,大家可以看一看,这篇文章只是简单的通过例子告诉大家rxjava的基本使用方法,如果有任何的批评、建议或者疑问可以评论,第一时间给予答复。[TOC]一、Obervable的创建1.create//通过create创建obs
转载
2023-12-08 23:00:11
64阅读
最近看到RxJava技术,好奇就网上找了些关于RxJava的博文,但绝大部分文章都讲了其使用,可我对最基本的东西——概念还是一脸懵逼。 这些文章看后,大概我知道两个重点,一是类似于观察者模式,二是任务执行与通知可以设置不同的线程。具体这个框架源码怎么做的就不知道了。看源码太累了,很多有名的
转载
2023-08-31 16:27:52
65阅读
上次主要讲了最基本的from与just源码,今天我们主要讲的是RxJava中转换符map的使用与实现的原理。 首先我们先上一段超级简单的方法。看下图: 这个函数,我们可以很清楚的知道最后打印出来的内容是“圆圆”,“袁斌”,接下来再来看一个简单的函数: 这个函数,我们通过观察可以知道打印出来的是5和5。 那么RxJava是怎么实现把一个对象通过map函数转换成一个name字符串的,hello转
转载
2023-10-20 15:45:34
89阅读
RxJava 基础知识——————(1)RxJava到底是什么一个词:异步。RxJava 在 GitHub 主页上的自我介绍是 “a library for composing asynchronous and event-based programs using observable sequences for the Java VM”(一个在 Java VM 上使用可观测的序列来组成异步的、
转载
2023-09-21 23:28:42
59阅读
RxJava是对响应式扩展( Reactive Extensions,称之为 ReactiveX )规范的Java 实现,该规范还有其他语言实现:RxJS、Rx.Net、RxScala、RxSwift等等(也即,ReactiveX 定义了规范,其他语言实现规范即可,所以我们这里学习RxJava的架构和设计思维,只需研究ReactiveX 即可)。RxJava是一个通过使用可观察序列来组合异步操作(
转载
2023-09-05 09:21:10
50阅读
RxJava 源码解读 一直以来在网上看到关于RxJava的使用博客都称赞RxJava使用起来非常简洁,即使业务逻辑非常复杂,它依然能够保持简洁。于是在个人项目也添加了RxJava和RxAndroid.秉着知其然知其所以然的态度,跟着调用方法一探其源码, 首选是调用方法。这个方法是获取手机里面的所有音乐文件信息,并且返回给回调者,并且这里的subscribe是运行在子线程中,回调则在主线程再更新
转载
2023-05-23 16:19:11
133阅读
最近开始做实际的Android项目,开发的组长就先丢给我一堆开源项目,让我先去熟悉一下,其中第一个就是RxJava。于是大概花了一个上午的时间学习了一下,发现这确实是个非常强大的工具!目前网络上比较全面的教程各有千秋,在此整理出一份更适合入门学习的教程。希望对Android的初学者们有所帮助。1.什么是RxJava
RxJava的核心其实就是异步处理,比如现在我们从网络上读取数据,然后在界面
转载
2023-09-11 15:33:01
66阅读