Junior — Middle
Foydalanuvchi interfeysini bloklamasdan operatsiyalarni qanday ta'minlash mumkin?
sobes.tech AI
AIdan javob
Androidda operatsiyalar foydalanuvchi interfeysini bloklamasligi uchun, ularni fon oqimida, asosiy (UI) oqimidan tashqarida bajarish kerak. Buning uchun quyidagilarni ishlatish mumkin:
- AsyncTask (eskirgan, ammo eski kodda ko‘p uchraydi)
- HandlerThread yoki Handler
- ExecutorService
- Kotlin Coroutines (zamonaviy va tavsiya etilgan usul)
- RxJava
Masalan, korutinlar yordamida quyidagicha qilish mumkin:
GlobalScope.launch(Dispatchers.Main) {
val result = withContext(Dispatchers.IO) {
// Uzun operatsiya, masalan, tarmoq so‘rovi
fetchData()
}
// UI ni yangilash natijasi bilan
textView.text = result
}
Shunday qilib, og‘ir ish fon oqimida (IO) bajariladi, va interfeys yangilanishi asosiy oqimda amalga oshiriladi.