二、基本使用方法 RxJava使用的是观察者模式。是由: 观察者:监视着被观察者,当被观察者发生变化时通知观察者,然后观察者执行相应的操作; 被观察者:被监视的对象,当某个状态改变时告诉观察者;
转载 2023-07-26 10:40:43
241阅读
Yammer 应用开发团队介绍了如何使用 RxJava v1.1.7 版本的 Observable.fromAsync() 函数来把异步回调操作数据发射到 RxJava 数据流中。现有的 API 通常有同步阻塞 API 和异步非阻塞 API。通过 Observable.fromCallable() 函数可以把同步 API 封装为 Observable,Java // wrapping synchr
转载 2023-08-24 00:40:30
114阅读
        本文首先从整体架构分析了Android整个线程间消息传递机制,然后从源码角度介绍了各个组件的作用和完成的任务。文中并未对基础概念进行介绍,关于threadLacal和垃圾回收等等机制请自行研究。基础架构        首先,我们需要从整体架构上
很多人第一次接触Handler可能是因为一句话”子线程不能操作ui”,那子线程能不能操作ui呢?我们在这里不多讨论(其实是可以的,但是线程不安全),我们来分析下handler是如何运转起来的。 一般用法都是在“主线程”中new一个handlerHandler mhandler = new Handler() { @Override public void hand
观察者模式的概念RxJavaandroid异步框架,官方介绍是可观测的序列,组成异步基于事件程序的库。特点是观察者模式,基于事件流的链式调用,随着异步操作调度过程复杂的情况下,程序逻辑也变得越来越复杂,但RxJava依然能够保持简洁。简单的说观察者A与被观察者B建立订阅关系,当被观察者B发生某种改变时,立即通知观察者A添加依赖compile 'io.reactivex.rxjava2:rxja
转载 2023-07-01 17:42:22
170阅读
# Android RxJava实现异步加载 ## 流程图 ```mermaid flowchart TD A[创建Observable对象] --> B[设置事件处理逻辑] B --> C[订阅观察者] ``` ## 序列图 ```mermaid sequenceDiagram participant 开发者 participant 小白 小白-
原创 5月前
20阅读
# Android RxJava 异步线程框架 在Android开发中,异步线程处理是非常常见的需求。为了简化异步操作的处理过程,并提高代码的可读性和可维护性,我们可以使用RxJava这个强大的异步线程框架。 ## RxJava简介 RxJava是一个基于观察者模式的异步编程库,它使得异步操作变得更加简单和优雅。RxJava提供了丰富的操作符和功能,可以方便地处理异步任务、事件流和数据处理。
原创 5月前
37阅读
Android异步处理一:使用Thread+Handler实现非UI线程更新UI界面Android异步处理二:使用AsyncTask异步更新UI界面Android异步处理三:Handler+Looper+MessageQueue深入详解Android异步处理四:AsyncTask的实现原理 Android异步处理三:Handler+Looper+MessageQueue深入详解概述:An
转载 1月前
17阅读
# Android RxJava 异步工具类的介绍与实现 在现代 Android 开发中,异步编程是一项重要的技术。在众多的异步处理方案中,RxJava(Reactive Extensions for Java)因其简洁和功能强大,逐渐成为开发者的宠儿。本文将介绍如何在 Android 中创建一个 RxJava 异步工具类,并通过示例代码说明其使用方法。 ## 什么是 RxJava? RxJ
原创 1月前
11阅读
# Android RxJava处理异步任务 ## 简介 在Android开发中,处理异步任务是一个非常常见的需求。RxJava是一个强大的响应式编程库,可以简化异步任务的处理过程。在这篇文章中,我将教你如何使用RxJava来处理异步任务。 ### 流程 下面是处理异步任务的整体流程: | 步骤 | 内容 | | ----- | ------ | | 1 | 创建Observable对象 |
原创 5月前
55阅读
异步加载很重要,接下来简析一下。 主线程主要负责界面事件的处理,因此不能在主线程中处理一些耗时的操作,否则会出现ANR,即Application Not Responding(应用程序无响应,俗称,死机,卡顿)。为了避免出现ANR,需要将耗时操作放到子线程中进行处理,同时可以使用Handler进行消息的传递。除了使用Handler,Android为了简化操作为我们提供了一个封装好的异步任务类As
转载 6月前
51阅读
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
283阅读
AsyncTask阅读浏览器的代码,可以看到 BrowserActivity.java在Oncreate()里创建了AsyncTask, 为什么不使用前面提到的Handler呢?AsyncTask的特点是任务在主线程之外运行,而回调方法是在主线程中执行,这就有效地避免了使用Handler带来的麻烦。阅读AsyncTask的源码可知,AsyncTask是使用java.util.concur
转载 6月前
42阅读
一、异步消息处理机制:  1)由四个部分组成:Message、Handler、MessageQueue 和 Loope    --Message: 在线程之间传递的消息,它可以在内部携带少量信息,用于在不同线程之间交换数据;    --Handler: 主要用发送和处理消息(Message),发送消息:sendMessage(Message msg); 处理消息:handleMessag
转载 2023-07-25 23:49:24
50阅读
# 实现Android Rxjava异步请求后执行 ## 整体流程 ```mermaid journey title Rxjava异步请求后执行流程 section 开始 开始 --> 发起异步请求 section 处理请求 发起异步请求 --> 接收请求结果 section 处理结果 接收请求结果 --> 执行后
原创 6月前
19阅读
本章节继续讲解ANR的相关问题一.ANR原因分析1.系统导致ANR<1> CPU被抢占:比如,前台在操作游戏的app,可能会导致你的APP后台广播被抢占CPU,导致广播中相关代码执行超时导致ANR。<2> 系统服务无法及时响应:比如你的APP要获取系统联系人,系统的服务都是Binder机制,服务能力也是有限的,有可能系统服务长时间不响应导致ANR。<3&gt
Java 异步 RxJava ## 什么是异步编程 在传统的同步编程中,程序执行会按照顺序逐行执行,每一行代码都需要等待上一行代码的执行完成才能进行下一步操作。然而,在某些情况下,我们希望能够同时执行多个任务,提高程序的性能和响应速度。这时候就需要使用异步编程。 异步编程是一种并发编程的方式,它可以让程序同时执行多个任务,而不需要等待每个任务的完成。这样可以提高程序的性能和响应速度。在 Ja
原创 2023-08-17 09:50:58
84阅读
# 使用RxJava实现异步下载 在当今的开发环境中,异步编程被广泛应用,尤其是在Android应用中。RxJava提供了一种简洁而强大的方式来处理异步任务。本文将带领你了解如何使用RxJava实现异步下载的过程,分步骤进行讲解,并附带必要的代码示例和流程图,以帮助你快速掌握这一技能。 ## 整体流程 下面是使用RxJava实现异步下载的步骤: | 步骤 | 操作
原创 1月前
4阅读
# RxJava异步操作简介 在现代应用开发中,异步操作是提升应用性能和响应速度的重要手段。RxJava作为一种基于观察者模式的响应式编程框架,提供了一种简洁优雅的方式来处理异步操作。本文将介绍RxJava的基本概念及其在异步编程中的应用,并附带相应的代码示例。 ## 什么是RxJavaRxJava是一个用于构建异步和事件驱动程序的Java库。它基于观察者模式,将异步数据流抽象为流式的可
原创 1月前
18阅读
# 实现Android RxJava ViewModel异步多请求 ## 流程表格 ```mermaid erDiagram |步骤|操作| |---|---| |Step 1|创建ViewModel| |Step 2|在ViewModel中定义Observable请求| |Step 3|在Activity或Fragment中观察ViewModel中的数
原创 2月前
27阅读
  • 1
  • 2
  • 3
  • 4
  • 5