Junior — Middle
Kako osigurati da operacije budu izvršene tako da ne blokiraju korisnički interfejs?
sobes.tech АИ
Одговор од АИ
Да операције не блокирају кориснички интерфејс на Android-у, потребно је да их извршавате у позадинском току, а не у главном (UI) току. За то можете користити:
- AsyncTask (преостало, али често се налази у старом коду)
- HandlerThread или Handler
- ExecutorService
- Kotlin Coroutines (модеран и препоручени начин)
- RxJava
На пример, коришћењем корутиних, можете то урадити овако:
GlobalScope.launch(Dispatchers.Main) {
val result = withContext(Dispatchers.IO) {
// Дуга операција, нпр. захтев према мрежи
fetchData()
}
// Ажурирање UI са резултатом
textView.text = result
}
Овим се тешки послови извршавају у позадинском току (IO), а ажурирање интерфејса у главном току.