Sobes.tech
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");
});