Middle
Android-də Job obyekti nə üçün istifadə olunur?
sobes.tech Süni İntellekt
AI-dan cavab
Kotlin Coroutines-də Job, həyat dövrünü idarə etmək və korutinaları ləğv etmək üçün istifadə olunur.
Əsas tətbiqlər:
- Həyat dövrünün idarə olunması: Korutinanın vəziyyətini (Active, Completing, Completed, Cancelling, Cancelled, New) izləməyə imkan verir.
- Korutinanı ləğv etmək:
job.cancel()və yajob.cancelAndJoin()çağırışları korutinanın icrasını dayandırmağa imkan verir. - Strukturlu müstəqil işləmə:
Jobkorutinlərin hierarxiyasının elementidir. ValideynJob-in ləğvi bütün uşaqlarJob-larının ləğvinə səbəb olur. - Bitməsini gözləmək:
job.join()cari korutinanın buJobilə təmsil olunan digər korutinanın tamamlanmasını gözləməsinə səbəb olur. - İstisna ilə işləmə:
Jobilə uşaq korutinasında işlənməmiş istisnalarJob-in hierarxiyasında yuxarıya doğru yayılır və xüsusi işləyicilər (məsələn,CoroutineExceptionHandler) tərəfindən tutulə bilər.
İstifadə nümunəsi başlatmaq və ləğv etmək üçün:
fun startAndCancelCoroutine() {
// CoroutineScope ViewModel, Activity, Fragment və s.-dən əldə edilə bilər.
val scope = CoroutineScope(Dispatchers.IO)
val job: Job = scope.launch {
// Uzun hesablama
delay(5000)
println("Korutina tamamlandı")
}
// 2 saniyə sonra korutinanı ləğv et
scope.launch {
delay(2000)
job.cancel()
println("Korutina ləğv edildi")
}
}