前言:
想知道如何获取这个application实例的起因是关于协程的取消。
于是我创建了一个Application类,并在其中创建了一个CoroutineScope的变量。
class MyApplication:Application() {
val applicationScope = CoroutineScope(SupervisorJob())
}
问题就是如何在其他地方可以获取到这个类的实例然后使用它里面那个scope。
一:先看看在activity中如何获取
一个activity中 {
val app = application as MyApplication
}
二:在fragment中
val app = (context as Activity).application as MyApplication
三:jetpack compose中
val context = LocalContext.current
val app = remember {
context.applicationContext as MyApplication
}
四:结语
知识点就是activity和application都和context这个抽象类有继承关系。