kotlin 用协程做网络请求_Kotlin中协程那些事

776bef461af78d3027c0e01e8df1b986.gif

简介

进程:在Android中就是指的一个应用程序启动实例,当然一个应用程序可能是多个进程共同协作来实现的。

线程:属于进程,是程序的实际执行者。一个进程至少包含一个主线程,也可以有多个,并且线程拥有自己的栈空间。

协程:在线程的基础上,做了封装,可以在一个线程执行完后自动切换到下一个线程中。

Kotlin中的协程

比如请求一个用户名,然后再将用户名显示在一个View中,使用Java实现如下:

e347f2d7e5149ed23ac5dee3c16d757d.png

如果使用Kotlin中的协程则简洁很多。

18b0b66507dbb71fea8f3df594b10496.png

这样实现的好处:代码阅读性增强,同时在请求执行完后不需要自己切回至主线程。

使用方法

启动一个协程可以使用launch或者async函数,闭包中是协程运行的代码块。

b279508ec2095b7c2c9f5571d3e5f488.png

协程中切换线程,可以使用suspend,然后使用withContext传入指定线程。常用值包括了:

Dispatchers.Main:Android主线程;

Dispatchers.IO:IO线程,一般用于文件的读取和网络请求;

Dispatchers.Default:适合CPU密集型的任务,比如计算;

536ce3ea0a9e074be323b4275679ec4e.png

参考

https://www.jianshu.com/p/9857dec8561c

欢迎关注微信公众号:SimFG,让我们一起学习一起进步

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值