Junior — Middle
Zašto je ažuriranje prikaza potrebno obaviti samo u glavnoj niti korisničkog interfejsa?
sobes.tech АИ
Одговор од АИ
U Androidu, ažuriranje korisničkog interfejsa (view) treba obavljati samo u glavnom (UI) thread-u, jer sam UI framework nije thread-safe. Ako pokušate da izmenite elemente interfejsa iz pozadinskog thread-a, to može dovesti do nepredvidivog ponašanja, padova ili izuzetaka.
Glavni thread je odgovoran za obradu događaja i renderovanje interfejsa, pa sve promene UI treba da prolaze kroz njega. Za ažuriranje UI iz drugih thread-ova koriste se metode koje prebacuju izvršenje na glavni thread, kao što su runOnUiThread(), Handler, LiveData ili View.post().
Primer:
runOnUiThread(() -> {
textView.setText("Ažurirano iz pozadinskog thread-a");
});