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()veyajob.cancelAndJoin()çağrısı, korutinin yürütülmesini durdurmayı sağlar. - Yapısal eşzamanlılık:
Job, korutinler hiyerarşisinin bir öğesidir. ÜstJob'un iptali, tüm altJob'ların iptaline yol açar. - Tamamlanmayı bekleme:
job.join()şu anki korutinin, buJobtarafından temsil edilen başka bir korutinin tamamlanmasını beklemesine neden olur. - İstisna işleme:
Jobile alt korutinede işlenmemiş istisnalar,Jobhiyerarş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")
}
}