老师,请教您一个关于你的博客里的问题。

来源:13-9 案例:协程在 Android 中的应用

慕前端9039556

2020-11-06

abstract class ScopedActivity: Activity(), CoroutineScope by MainScope(){
    override fun onDestroy() {
        super.onDestroy()
        cancel()
    }}

您利用MainScope封装了抽象的Activity,如果按照这个写法,为什么不利用GlobalScope封装一个abstract Activity?这样每个Activity开启后默认有一个顶级作用域,这样不更合理吗?


写回答

1回答

bennyhuo

2020-11-06

主要是要跟生命周期绑定,不能直接用顶级作用域。

0
10
慕前端9039556
主从,协同作用域他们的特点我昨天学了一遍,明白了。就是好奇比如lifecyclescope这些,它们的顶级作用域声明在哪里?肯定得有顶级作用域吧?毕竟coroutineScope属于鸡生蛋蛋生鸡的过程,肯定需要顶级作用域把第一个scopeContext设为空
2022-03-30
共10条回复

学会Kotlin 突破开发语言瓶颈

如果有一门语言可以取代Java,那么它一定是Kotlin。

1760 学习 · 481 问题

查看课程