Sobes.tech
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 керує її життєвим циклом.