Junior — Middle
Androidda vazifa bajarish uchun qanday usullar va vositalar mavjud?
sobes.tech AI
AIdan javob
Androidda vazifalarni asinxron tarzda bajarish uchun bir nechta usullar va vositalar mavjud:
- AsyncTask (eskirgan, ammo eski kodda ko‘p uchraydi) — UI yangilanishi bilan fon oqimida operatsiyalarni bajarishga imkon beradi.
- Handler va HandlerThread — xabarlar navbatlarini boshqarish va vazifalarni alohida oqimlarda bajarish uchun.
- Executor va ThreadPoolExecutor — oqimlar havuzini boshqarish uchun.
- RxJava — reaktiv dasturlash uchun kutubxona, asinxron operatsiyalar uchun qulay.
- Coroutines (Koruletlar) — Kotlinda zamonaviy va tavsiya etilgan asinxron dasturlash usuli.
- WorkManager — kechiktirilgan va davriy vazifalar uchun, ular yopilgan bo‘lsa ham bajarilishi kerak.
Asinxron vazifa uchun korutinalardan foydalanish misoli:
import kotlinx.coroutines.*
fun fetchData() {
GlobalScope.launch(Dispatchers.Main) {
val data = withContext(Dispatchers.IO) {
// Uzun davom etadigan operatsiya, masalan, tarmoq so‘rovi
loadDataFromNetwork()
}
// Olingan ma’lumotlar bilan UI ni yangilash
updateUI(data)
}
}