首页标签协程
  • 一个简单的面试问题:Kotlin 协程能够完全取代线程吗?为什么?

    某种程度上考虑「Kotlin协程确实足够直接取代线程」,但是「协程能够完全取代线程」的说法其实不太准确,毕竟协程是必须基于线程,所以线程肯定是需要存在的,更准确的说,应该是Kotlin协程在Android上可以取代大部份线程场景。当然,这里我们只讨论Androd平台上的协程,这个问题的答案也需要约定在Android平台,因为Kotlin...
  • 基于协程的 Android 事务框架设计

    背景数据库事务(transaction)是访问并可能操作各种数据项的一个数据库操作序列,这些操作要么全部执行,要么全部不执行,是一个不可分割的工作单位。事务由事务开始与事务结束之间执行的全部数据库操作组成。“要么全部成功,要么全部失败,那么在失败后,对于已成功的操作,是如何回滚的呢?”数据库系统通常使用日志(log)来实现事务的回滚。在事务执行过程...
  • Android 开发中使用协程常犯的 10 个错误

    介绍作为Android开发者,Kotlin协程已经成为异步编程工具箱中不可或缺的一部分。它们简化了并发任务,使代码更具可读性,避免了早期方法中常见的回调地狱。然而,协程也带来了新的挑战,容易陷入一些常见的错误,导致Bug、崩溃或性能不佳。本文将探讨一些经常犯的协程错误,并提供规避这些错误的指导。阻塞主线程错误:在Main调度器上运行长时间或...
  • SupervisorScope 与 viewModelScope 的对比:理解它们的用例和区别

    基本概念|BasicConceptsSupervisorScopeSupervisorScope是Kotlin协程中的一个特殊作用域,具有以下特征:•使用supervisorScope函数创建•默认不依附于任何生命周期组件•提供异常隔离机制示例代码|Example:suspendfunperformParallel...
  • 进程、线程、协程,十分钟带你掌握!

    进程、线程和协程是程序设计中三个重要的知识点,这篇文章,我们将从概念、通信方式、区别和优缺点等方面深入探讨它们。基本概念进程进程(Process)是操作系统中资源分配和调度的基本单位。每个进程有自己的内存空间和系统资源,是一个独立运行的程序实例。进程之间是相互隔离的,通常一个进程的崩溃不会影响到其他进程。线程线程(Thread)是进程中的一个执行路...
  • 理解 Kotlin 中的协程生命周期

    Kotlin的协程提供了一种强大的方式来管理并发和异步编程。要有效地使用它们,理解协程的生命周期至关重要。本文将探讨协程生命周期,重点介绍协程的Job状态、状态之间的转换,并通过实际示例说明每个状态的效果,包括启动嵌套协程等。什么是协程?协程是轻量级的线程,可以在不阻塞主线程的情况下执行异步任务。它们提供了一种编写非阻塞代码的方式,使代码易于阅读和...
  • 使用Kotlin Flow和协程开发高性能Android应用:以电影业务为例

    使用KotlinFlow和协程开发高性能Android应用:以电影业务为例引言在当今移动互联网快速发展的时代,用户对应用的性能和响应速度有了更高的要求。作为开发者,我们需要不断探索和采用新的技术来提升应用的性能和用户体验。Kotlin作为Android开发的首选语言,其协程和Flow特性提供了强大的异步编程能力,可以帮助我们更高效地处理复杂的异步任务和...