Junior — Middle
Чӣ тавр муайян кардани доираи намоёнӣ дар корутинҳо дар барномасозӣ?
sobes.tech AI
Ҷавоб аз AI
Область видимості корутины (Coroutine Scope) визначає життєвий цикл і контекст, у якому виконується корутина. На Android зазвичай використовують різні scope для управління часом життя корутин і запобігання витокам пам'яті.
Наприклад:
- GlobalScope — корутини живуть, доки працює додаток, не рекомендується для UI-завдань.
- CoroutineScope, пов'язаний із життєвим циклом компонента (наприклад,
lifecycleScopeв Activity або Fragment) — корутини автоматично скасовуються при знищенні компонента.
Приклад використання lifecycleScope в Activity:
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
lifecycleScope.launch {
// Код корутини, яка буде скасована при знищенні Activity
delay(1000)
println("Корутин завершено")
}
}
}
Таким чином, область видимості корутини визначається scope, у якому вона запускається, і цей scope керує її життєвим циклом.