赞
踩
implementation ‘org.jetbrains.kotlinx:kotlinx-coroutines-core:1.5.0’
implementation ‘org.jetbrains.kotlinx:kotlinx-coroutines-android:1.5.0’
implementation(“androidx.lifecycle:lifecycle-runtime-ktx:2.3.1”)
LifecycleScope虽然是协程,但属于Lifecycle中的
扩展属性
。
lifecycleScope默认
主线程
,可以通过withContext
来指定线程。
lifecycleScope.launch {
// do
withContext(Dispatchers.IO) {
// do
}
}
// or
lifecycleScope.launch(Dispatchers.IO){
// do
}
// or
lifecycleScope.launch {
whenResumed {
// do
}
}
// or
lifecycleScope.launchWhenResumed {
// do
}
whenResumed
和launchWhenResumed
执行时机一样,区别在于:
whenResumed 可以有返回结果
launchWhenResumed 返回的是Job对象
共有三个对应生命周期的扩展函数:
whenCreated
whenStarted
whenResumed
使用非常简单,关键在于它是怎么保证不会内存泄露的,又是怎么知道在某个生命周期的时候去执行协程的?</
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。