Sobes.tech
Middle

Android'de Job nesnesi ne için kullanılır?

sobes.tech yapay zeka

AI'dan gelen yanıt

Kotlin Coroutines'te Job, yaşam döngüsünü yönetmek ve korutinleri iptal etmek için kullanılır.

Ana uygulamalar:

  • Yaşam döngüsü yönetimi: Korutinin durumunu (Active, Completing, Completed, Cancelling, Cancelled, New) izlemeye olanak tanır.
  • Korutini iptal etme: job.cancel() veya job.cancelAndJoin() çağrısı, korutinin yürütülmesini durdurmayı sağlar.
  • Yapısal eşzamanlılık: Job, korutinler hiyerarşisinin bir öğesidir. Üst Job'un iptali, tüm alt Job'ların iptaline yol açar.
  • Tamamlanmayı bekleme: job.join() şu anki korutinin, bu Job tarafından temsil edilen başka bir korutinin tamamlanmasını beklemesine neden olur.
  • İstisna işleme: Job ile alt korutinede işlenmemiş istisnalar, Job hiyerarşisinde yukarı doğru yayılır ve özel işleyiciler (örneğin, CoroutineExceptionHandler) tarafından yakalanabilir.

Kullanım örneği başlatma ve iptal etme:

fun startAndCancelCoroutine() {
    // ViewModel, Activity, Fragment vb. den alınabilen CoroutineScope
    val scope = CoroutineScope(Dispatchers.IO)

    val job: Job = scope.launch {
        // Uzun hesaplamalar
        delay(5000)
        println("Koroutine tamamlandı")
    }

    // 2 saniye sonra korutini iptal et
    scope.launch {
        delay(2000)
        job.cancel()
        println("Koroutine iptal edildi")
    }
}