Size: a a a

Android Developers

2021 November 18

I

Ilya in Android Developers
Ну да, отличная фича
источник

DS

Dmitry Sokolov in Android Developers
Это прям очень честно?
источник

I

Ilya in Android Developers
Задолбал
источник

r

rinstance in Android Developers
от lifeCycle не зависит
источник

I

Ilya in Android Developers
refreshAdapter через флоу в лайфцайкл корутине вызывается)
источник

I

Ilya in Android Developers
И оно вызовется ток когда onResume произойдёт
источник

I

Ilya in Android Developers
Сделай свой скоуп, условное CoroutineScope(SupervisorJob() + Dispatchers.Main.immediate) и закрывай его в onDestroy руками)
источник

j

jeckso in Android Developers
Звучит очень экономно, а главное безопасно
источник

r

rinstance in Android Developers
lifeCycle до какого момента работает?  до онстопа?
источник

DS

Dmitry Sokolov in Android Developers
public fun launchWhenCreated(block: suspend CoroutineScope.() -> Unit): Job = launch {
   
lifecycle.whenCreated(block)
}
источник

I

Ilya in Android Developers
Вроде да
источник

DS

Dmitry Sokolov in Android Developers
public suspend fun <T> Lifecycle.whenCreated(block: suspend CoroutineScope.() -> T): T {
   return whenStateAtLeast(Lifecycle.State.
CREATED, block)
}
источник

DS

Dmitry Sokolov in Android Developers
public suspend fun <T> Lifecycle.whenStateAtLeast(
   minState: Lifecycle.State,
   block: suspend CoroutineScope.() -> T
): T = withContext(Dispatchers.Main.immediate)
{
   
val job = coroutineContext[Job] ?: error("when[State] methods should have a parent job")
   val dispatcher = PausingDispatcher()
   val controller =
       LifecycleController(this@whenStateAtLeast, minState, dispatcher.dispatchQueue, job)
   try {
       withContext(dispatcher, block)
   } finally {
       controller.finish()
   }
}
источник

I

Ilya in Android Developers
А причём тут запуск и суспенд?)
источник

r

rinstance in Android Developers
А кста, зачем его закрывать?
источник

I

Ilya in Android Developers
Это запуск, запускается когда эвент onCreate прошёл
источник

I

Ilya in Android Developers
Чтобы утечек не было
источник

DS

Dmitry Sokolov in Android Developers
вопрос, сколько раз отработает метод объявленный в блоке launchWhenResumed в onCreate фрагмента?
источник

I

Ilya in Android Developers
1 раз)
источник

r

rinstance in Android Developers
🤌🏿
источник