Android协程基础使用总结-基础开发看这一篇就够了

目录
1.协程是什么?
2.为什么需要协程?解决了什么问题?
3.概括一下协程的几个常用概念?
4.协程的几个最常用的方法是什么?
5.实战使用场景示例

1.协程是什么?
背一句话:协程是一个轻量级的线程框架,能够用同步的代码写出异步的逻辑,并且不会阻塞线程
2.为什么需要协程?
例如以前的网络请求与更新UI数据的代码,会出现大量的回调地狱


image.png

而使用协程之后:可以在IO线程中执行网络请求,能自动切换主线程 然后更新UI


image.png

3.概括一下协程的几个概念
作用域 GlobalScope lifecycleScope viewModelScope 然后.launch{ }
调度器 Dispatchers IO Main Default
suspend 挂起函数

4.使用方法
① 在Activity 和Fragment中:lifecycleScope.launch{} 开启协程 作用域
② 使用withContext(Dispatchers.IO){} 来切换到IO线程中,处理耗时操作
③ 使用withContext(Dispatchers.Default){} 切换到default线程做复杂计算
④ suspend 挂起函数标记, 用suspend 标记网络请求、数据库请求 等函数
⑤ 为了什么?提醒开发者 这个函数是耗时操作 可以被协程挂起,暂停
⑥ delay(2000)等待2秒, delay不会像sleep那样阻塞线程, 可以等两秒后执行后续的
ps:慎用GlobalScope,因为它没绑定生命周期,容易造成内存泄漏
ps:runBlocking一般在测试中用,Android开发中很少使用,会阻塞线程

5.实战的场景


image.png
image.png

image.png

image.png
image.png
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容