Junior — Middle
Cum se asigură executarea operațiunilor astfel încât să nu blocheze interfața utilizatorului?
sobes.tech AI
Răspuns de la AI
Pentru ca operațiile să nu blocheze interfața utilizatorului pe Android, trebuie să le executați într-un fir de fundal, nu în firul principal (UI). Pentru aceasta, puteți folosi:
- AsyncTask (învechit, dar încă prezent în codul vechi)
- HandlerThread sau Handler
- ExecutorService
- Corutine Kotlin (metoda modernă și recomandată)
- RxJava
De exemplu, cu corutine, puteți face astfel:
GlobalScope.launch(Dispatchers.Main) {
val result = withContext(Dispatchers.IO) {
// Operație lungă, de exemplu, o solicitare de rețea
fetchData()
}
// Actualizarea UI cu rezultatul
textView.text = result
}
Astfel, munca grea se face în firul de fundal (IO), iar actualizarea interfeței se face în firul principal.