二、基本使用方法 RxJava使用的是观察者模式。是由: 观察者:监视着被观察者,当被观察者发生变化时通知观察者,然后观察者执行相应的操作; 被观察者:被监视的对象,当某个状态改变时告诉观察者;
转载 2023-07-26 10:40:43
264阅读
Yammer 应用开发团队介绍了如何使用 RxJava v1.1.7 版本的 Observable.fromAsync() 函数来把异步回调操作数据发射到 RxJava 数据流中。现有的 API 通常有同步阻塞 API 和异步非阻塞 API。通过 Observable.fromCallable() 函数可以把同步 API 封装为 Observable,Java // wrapping synchr
转载 2023-08-24 00:40:30
151阅读
很多人第一次接触Handler可能是因为一句话”子线程不能操作ui”,那子线程能不能操作ui呢?我们在这里不多讨论(其实是可以的,但是线程不安全),我们来分析下handler是如何运转起来的。 一般用法都是在“主线程”中new一个handlerHandler mhandler = new Handler() { @Override public void hand
        本文首先从整体架构分析了Android整个线程间消息传递机制,然后从源码角度介绍了各个组件的作用和完成的任务。文中并未对基础概念进行介绍,关于threadLacal和垃圾回收等等机制请自行研究。基础架构        首先,我们需要从整体架构上
观察者模式的概念RxJavaandroid异步框架,官方介绍是可观测的序列,组成异步基于事件程序的库。特点是观察者模式,基于事件流的链式调用,随着异步操作调度过程复杂的情况下,程序逻辑也变得越来越复杂,但RxJava依然能够保持简洁。简单的说观察者A与被观察者B建立订阅关系,当被观察者B发生某种改变时,立即通知观察者A添加依赖compile 'io.reactivex.rxjava2:rxja
转载 2023-07-01 17:42:22
176阅读
异步加载很重要,接下来简析一下。 主线程主要负责界面事件的处理,因此不能在主线程中处理一些耗时的操作,否则会出现ANR,即Application Not Responding(应用程序无响应,俗称,死机,卡顿)。为了避免出现ANR,需要将耗时操作放到子线程中进行处理,同时可以使用Handler进行消息的传递。除了使用Handler,Android为了简化操作为我们提供了一个封装好的异步任务类As
转载 2024-03-13 10:46:18
63阅读
RxJava是什么RxJava is a Java VM implementation of Reactive Extensions: a library for composing asynchronous and event-based programs by using observable sequences.这是官方对于该库的描述,意思是RxJava是Java VM上一个灵活的,使用可观
转载 2023-08-02 14:20:07
305阅读
# Android RxJava实现异步加载 ## 流程图 ```mermaid flowchart TD A[创建Observable对象] --> B[设置事件处理逻辑] B --> C[订阅观察者] ``` ## 序列图 ```mermaid sequenceDiagram participant 开发者 participant 小白 小白-
原创 2024-04-04 05:42:21
42阅读
# Android RxJava 异步线程框架 在Android开发中,异步线程处理是非常常见的需求。为了简化异步操作的处理过程,并提高代码的可读性和可维护性,我们可以使用RxJava这个强大的异步线程框架。 ## RxJava简介 RxJava是一个基于观察者模式的异步编程库,它使得异步操作变得更加简单和优雅。RxJava提供了丰富的操作符和功能,可以方便地处理异步任务、事件流和数据处理。
原创 2024-04-05 06:05:08
43阅读
# Android中使用RxJava实现异步变同步 在Android开发中,RxJava是一种强大的工具,用于处理异步编程。然而,有时我们需要将异步操作变为同步操作,这在很多场景中都非常有用。本文将详细介绍如何在Android中使用RxJava实现这一目标。 ## 步骤流程 下面是将RxJava异步变同步的详细步骤: | 步骤 | 描述 |
原创 10月前
195阅读
# Android RxJava处理异步任务 ## 简介 在Android开发中,处理异步任务是一个非常常见的需求。RxJava是一个强大的响应式编程库,可以简化异步任务的处理过程。在这篇文章中,我将教你如何使用RxJava来处理异步任务。 ### 流程 下面是处理异步任务的整体流程: | 步骤 | 内容 | | ----- | ------ | | 1 | 创建Observable对象 |
原创 2024-04-19 04:00:33
88阅读
# Android RxJava 异步工具类的介绍与实现 在现代 Android 开发中,异步编程是一项重要的技术。在众多的异步处理方案中,RxJava(Reactive Extensions for Java)因其简洁和功能强大,逐渐成为开发者的宠儿。本文将介绍如何在 Android 中创建一个 RxJava 异步工具类,并通过示例代码说明其使用方法。 ## 什么是 RxJava? RxJ
原创 2024-09-14 06:46:20
31阅读
继续上一章android异步加载之Handler、AsyncTask(一)二、AsyncTask基础 *1. 构建AsyncTask子类的参数 AsyncTask*<*Params,Progress,Result>是一个抽象类,通常被继承实现。继承AsyncTask需要制定如下三个泛型参数: (1) Params:启动任务时输入参数的类型,该参数是一个varags,比如Strin
Android异步处理一:使用Thread+Handler实现非UI线程更新UI界面Android异步处理二:使用AsyncTask异步更新UI界面Android异步处理三:Handler+Looper+MessageQueue深入详解Android异步处理四:AsyncTask的实现原理 Android异步处理三:Handler+Looper+MessageQueue深入详解概述:An
转载 2024-09-22 13:12:01
37阅读
上周五和团队一起讨论了RxJava的用法和实现机制。在讨论中,@坚坚老师 问了一个有趣的问题:如果调用链中包含多个subscribeOn和observeOn,会是什么情况? 这实际上是一个至关重要的问题,因为在任何情况下,我们都应该弄清楚我们写的每一行代码到底是运行在哪个线程上。这个问题绝对不能含糊。 假设有下面这段伪代码:Observable.create(...) .lift1(...)
一、异步消息处理机制:  1)由四个部分组成:Message、Handler、MessageQueue 和 Loope    --Message: 在线程之间传递的消息,它可以在内部携带少量信息,用于在不同线程之间交换数据;    --Handler: 主要用发送和处理消息(Message),发送消息:sendMessage(Message msg); 处理消息:handleMessag
转载 2023-07-25 23:49:24
50阅读
AsyncTask阅读浏览器的代码,可以看到 BrowserActivity.java在Oncreate()里创建了AsyncTask, 为什么不使用前面提到的Handler呢?AsyncTask的特点是任务在主线程之外运行,而回调方法是在主线程中执行,这就有效地避免了使用Handler带来的麻烦。阅读AsyncTask的源码可知,AsyncTask是使用java.util.concur
转载 2024-03-12 12:00:19
50阅读
本章节继续讲解ANR的相关问题一.ANR原因分析1.系统导致ANR<1> CPU被抢占:比如,前台在操作游戏的app,可能会导致你的APP后台广播被抢占CPU,导致广播中相关代码执行超时导致ANR。<2> 系统服务无法及时响应:比如你的APP要获取系统联系人,系统的服务都是Binder机制,服务能力也是有限的,有可能系统服务长时间不响应导致ANR。<3&gt
# 实现Android Rxjava异步请求后执行 ## 整体流程 ```mermaid journey title Rxjava异步请求后执行流程 section 开始 开始 --> 发起异步请求 section 处理请求 发起异步请求 --> 接收请求结果 section 处理结果 接收请求结果 --> 执行后
原创 2024-03-02 04:38:38
32阅读
# 实现Android RxJava ViewModel异步多请求 ## 流程表格 ```mermaid erDiagram |步骤|操作| |---|---| |Step 1|创建ViewModel| |Step 2|在ViewModel中定义Observable请求| |Step 3|在Activity或Fragment中观察ViewModel中的数
原创 2024-07-14 07:43:13
36阅读
  • 1
  • 2
  • 3
  • 4
  • 5