[译] 关于 Kotlin Coroutines, 你可能会犯的 7 个错误

[译] 关于 Kotlin Coroutines, 你可能会犯的 7 个错误

1. 在使用协程时实例化一个新的 Job 实例有时候你会需要一个 job 来对协程进行一些操作,例如,稍后取消。另外由于协程构建器 launch{} 和 async{} 都需要 job 作为入参,你可能会想到创建一个新的 job 实例作为参数来使用。这样的话,你就拥有了一个 job 引用,稍后你可以...

Kotlin Coroutines Flow 系列(五) 其他的操作符

八. Flow 其他的操作符8.1 Transform operatorstransform在使用 transform 操作符时,可以任意多次调用 emit ,这是 transform 跟 map 最大的区别:fun main() = runBlocking { (1..5).asFlow() .t...

Kotlin Coroutines Flow 系列(四) 线程操作

七. Flow 线程操作7.1 更为简化的线程切换相对于 RxJava 多线程的学习曲线,Flow 对线程的切换友好地多。在之前的 Kotlin Coroutines Flow 系列(一) Flow 基本使用 一文中曾经介绍过 Flow 的切换线程,以及 flowOn 操作符。Flow 只需使用 f...

Kotlin Coroutines Flow 系列(三) 异常处理

五. Flow 异常处理Flow 可以使用传统的 try...catch 来捕获异常:fun main() = runBlocking { flow { emit(1) try { throw RuntimeException() } catch (e: Exception) { ...

Kotlin Coroutines Flow 系列(二) Flow VS RxJava2

Kotlin Coroutines Flow 系列(二) Flow VS RxJava2

三. Flow VS Sequences每一个 Flow 其内部是按照顺序执行的,这一点跟 Sequences 很类似。Flow 跟 Sequences 之间的区别是 Flow 不会阻塞主线程的运行,而 Sequences 会阻塞主线程的运行。使用 flow:fun main() = runBloc...

Kotlin Coroutines Flow 系列(一) Flow 基本使用

Kotlin Coroutines Flow 系列(一) Flow 基本使用

一. Kotlin Flow 介绍Flow 库是在 Kotlin Coroutines 1.3.2 发布之后新增的库。官方文档给予了一句话简单的介绍:Flow — cold asynchronous stream with flow builder and comprehensive operato...

Android 开发中 Kotlin Coroutines 如何优雅地处理异常

一. 尽量少用 GlobalScopeGlobalScope 是 CoroutineScope 的实现类。我们以前使用过的 launch、async 函数都是 CoroutineScope 的扩展函数。GlobalScope 没有绑定任何 Job 对象,它用于构建最顶层的协程。这些协程的生命周期会跟...

AAC 的 Lifecycle 结合 Kotlin Coroutines 进行使用

一. Lifecycle目前,AAC(Android Architecture Components简称) 已经是 Android Jetpack 的一部分。Lifecycle 是 AAC 其中的一个组件,Lifecycle 能够管理 Activity 和 Fragment 的生命周期。Lifecy...

Kotlin Coroutines 笔记 (二)

Kotlin Coroutines 笔记 (二)

协程虽然是微线程,但是并不会和某一个特定的线程绑定,它可以在A线程中执行,并经过某一个时刻的挂起(suspend),等下次调度到恢复执行的时候,很可能会在B线程中执行。一. withContext与 launch、async、runBlocking 类似 withContext 也属于 Corout...

Kotlin Coroutines 笔记 (一)

Kotlin Coroutines 笔记 (一)

一. 协程Kotlin 在1.1版本之后引入了协程的概念,目前它还是一个试验的API。在操作系统中,我们知道进程和线程的概念以及区别。而协程相比于线程更加轻量级,协程又称微线程。协程是一种用户态的轻量级线程,协程的调度完全由用户控制。协程拥有自己的寄存器上下文和栈。协程调度切换时,将寄存器上下文和栈...

本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。

社区圈子

微服务
微服务
构建可靠、高效、易扩展的技术基石
23230+人已加入
加入

Kotlin coroutines相关内容