Kotlin怎么创建一个好用的协程作用域


这篇文章主要讲解了“Kotlin怎么创建一个好用的协程作用域”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Kotlin怎么创建一个好用的协程作用域”吧!kotlin中使用协程,是一定要跟协程作用域一起配合使用的,否则可能协程的生命周期无法被准确控制,造成内存泄漏或其他问题.我们一般在安卓项目中使用协程作用域,可能会在BaseActtivity中new 一个MainScope(),并在onDestory时cancel掉,或者只在ViewModel中使用viewModelScope,然后会在ViewModel的onClose中自动免费云主机域名cancel掉.首先我们自己创建协程作用域需要调用CoroutineScope()方法,然后通过加号+拼接CoroutineContext首先我们需要确认我们要什么Job,如果需要连带责任的(子协程取消,父协程也会取消),就使用Job().如果只能由父控制子的取消,就使用SupervisorJob()然后确定我们的协程作用域是要默认运行在哪个线程中,一般安卓开发都是默认主线程,这里我们使用Dispatchers.Main.immediate,Dispatchers.Main.immediate和Dispatchers.Main的区别就是,Dispatchers.Main会直接post到主线程,而Dispatchers.Main.immediate如果发现自身是在主线程,就可能不再post一次,而是直接调度然后我们可能需要对协程作用域中的异常进行统一处理,所以我们附加上一个异常处理器协程上下文元素:我们为了方便调试,需要给协程作用域附加上名称,这里我们使用自带的协程上下文元素CoroutineName()而我们可能需要通过协程作用域取到安卓的Context或者Activity等,这里我们也可以自定义一些协程上下文元素,如:这样我们可以在有协程作用域的地方取到activity并作出弹加载窗等操作:完整代码如下:感谢各位的阅读,以上就是“Kotlin怎么创建一个好用的协程作用域”的内容了,经过本文的学习后,相信大家对Kotlin怎么创建一个好用的协程作用域这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是百云主机,小编将为大家推送更多相关知识点的文章,欢迎关注!

相关推荐: go语言中goto如何用

本文小编为大家详细介绍“go语言中goto如何用”,内容详细,步骤清晰,细节处理妥当,希望这篇“go语言中goto如何用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。 在go语言中,goto语句用于无条件跳转,可以无条件地转移到程序…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 03/22 11:51
下一篇 03/22 14:07

相关推荐