![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
kotlin协程
文章平均质量分 89
李小白lt
kotlin yyds
展开
-
Kotlin如何延时准确的循环执行事件,比如倒计时或每一秒执行一次事件
延时循环执行事件很简单,且有很多方式,但想要延时相对精确,就需要稍微设计一下了,众所周知我们常用的操作系统都不是实时操作系统,比如Windows,Linux,Android等,所以我们上面的延时操作不管是Thread.sleep(1000)还是delay(1000)都不一定会在1000毫秒后恢复,我们测试一下原创 2022-12-11 20:51:03 · 4579 阅读 · 0 评论 -
超简单-用协程简化你的网络请求吧,兼容你的老项目和旧的网络请求方式
前言在Kotlin协程(后简称协程)出来之后,颠覆了我们很多工具类的封装方式,大大简化了我们很多api的调用,并且使异步操作逻辑更清晰了其中一个很标志性的地方就属网络请求了,以前的网络请求方式声明很麻烦,请求和响应也很麻烦,总结一句话就是啰嗦且易出错ps:最终的使用方式示例:比如使用网络请求的进化过程:1.从一开始的HttpURLConnection的一把梭,直接一个请求写一串代码(代码太多就不写了)2.到后续使用三方封装的网络框架,如XUtils,Volly,OkHttp等,这原创 2021-12-31 17:23:37 · 2309 阅读 · 0 评论 -
Kotlin-如何创建一个好用的协程作用域
前言kotlin中使用协程,是一定要跟协程作用域一起配合使用的,否则可能协程的生命周期无法被准确控制,造成内存泄漏或其他问题.我们一般在安卓项目中使用协程作用域,可能会在BaseActtivity中new 一个MainScope(),并在onDestory时cancel掉,或者只在ViewModel中使用viewModelScope,然后会在ViewModel的onClose中自动cancel掉.但我们可能不只需要这些效果,比如在协程作用域中拿到Context或Activity,或者需要统一的捕原创 2021-10-30 17:06:08 · 2061 阅读 · 0 评论 -
分析Kotlin协程只挂起不恢复会怎样(是否存在协程泄漏),以及挂起的协程存在哪里?
前言刚开始正式学协程原理的时候(以前只是学api怎么用),大概是20年5月,也就是bennyhuo大佬出书<深入理解Kotlin协程>的时候,我买了本然后细细研究,我的内心就一直有一个问题,协程只挂起不恢复会不会造成协程的内存和程序泄漏,然后加了bennyhuo大佬的群,问了协程会不会泄漏,结果没回答我,后来想想应该是我问的不够具体(直接问一个会不会泄漏怎么回答2333)...原创 2021-01-15 22:02:29 · 656 阅读 · 5 评论 -
动手实现Kotlin协程同步切换线程,以及Kotlin协程是如何实现线程切换的
前言突发奇想想搞一个同步切换线程的Kotlin协程,而不用各种withContext(){},可以减少嵌套且逻辑更清晰,想实现的结果如下图:分析实现我们想要的结果,首先需要知道协程为什么可以控制线程的切换以及在挂起函数恢复的时候回到原来设定的线程中ps:挂起函数比普通函数多出了两个操作:挂起和恢复,具体参考:https://blog.csdn.net/qq_33505109/article/details/109066392其实控制线程切换是协程库内内置的一个拦截器类:Continu原创 2021-01-14 18:09:32 · 3233 阅读 · 4 评论 -
Kotlin 协程 + Spring webflux 开发后端
前言后端响应式是未来,吞吐量会更大,而资源占用更少,其用到了类似Android系统的Loop(事件循环)机制,而协程可以减少线程等待的消耗,并且同步式的编程方式使代码可读性更高,两个仿佛天生就是一对,所以就来简单的了解并配置一下Kotlin 协程 + Spring webflux的后端项目正文项目配置采用Gradle(毕竟我是做Android开发的,所以一切亲Android体系),数据库用的Mysql首先settings.gradle.kts文件,项目名暂定JavaKjrootProj原创 2020-11-12 17:56:52 · 2800 阅读 · 4 评论 -
Kotlin协程在项目中的实际应用
前言本来我想写个协程三部曲,但是查了下貌似协程x的api和协程基础讲的比较多了,但是实战讲的很少,或者将实战也只是怎么用别人封装好的三方库对应的支持(retrofit,ViewModel,room等),这种还是只能算是对api的应用,如果让自己写一套,也是比较困难,于是直接写实战了ps:下面所说的协程专指Kotlin协程pps:本篇文章针对有协程基础api和协程x api有使用经验的童鞋ppps:有人说kt协程就是个线程切换框架(并且很多博客甚至也是这样写的?),但只能说ta并没有领悟到协程原创 2020-10-14 14:48:45 · 1439 阅读 · 0 评论