Junior — Middle
İşlemlerin kullanıcı arayüzünü engellemeyecek şekilde nasıl gerçekleştirileceğini nasıl sağlayabilirsiniz?
sobes.tech yapay zeka
AI'dan gelen yanıt
Android'de işlemlerin kullanıcı arayüzünü engellememesi için, bunların arka planda, ana (UI) akış dışında yürütülmesi gerekir. Bunu yapmak için:
- AsyncTask (kullanımdan kaldırılmış, ancak eski kodlarda sıkça bulunur)
- HandlerThread veya Handler
- ExecutorService
- Kotlin Coroutines (modern ve önerilen yöntem)
- RxJava
Örneğin, coroutines kullanarak şu şekilde yapılabilir:
GlobalScope.launch(Dispatchers.Main) {
val result = withContext(Dispatchers.IO) {
// Uzun süren işlem, örneğin ağ isteği
fetchData()
}
// UI'yı güncelleme sonucu
textView.text = result
}
Bu şekilde, ağır iş arka planda (IO) yürütülür, ve arayüz güncellemesi ana akışta yapılır.