在jetpack compose中获取Application实例的方法/避免作用域结束导致协程取消

前言:

想知道如何获取这个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这个抽象类有继承关系。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值