Junior — Middle
Jak implementovat vícenásobné zpracování v programu?
sobes.tech AI
Odpověď od AI
Pro implementaci vícevláknového (multithreadingu) v Androidové aplikaci lze použít několik přístupů:
- Třída Thread — vytvoření nového vlákna přepsáním metody
run():
new Thread(new Runnable() {
@Override
public void run() {
// kód, který se provádí v samostatném vlákně
}
}).start();
-
Použití Handleru a Looperu — pro výměnu zpráv mezi vlákny.
-
AsyncTask (zastaralé, ale stále běžně používané) — zjednodušuje provádění úloh na pozadí s aktualizací UI.
-
ExecutorService — pool vláken pro správu více úloh.
-
Kotlin Coroutines — moderní a pohodlný způsob asynchronního programování, který umožňuje psát kód podobný synchronnímu.
Příklad vytvoření a spuštění vlákna:
Thread thread = new Thread(new Runnable() {
@Override
public void run() {
// Dlouhá operace
}
});
thread.start();
Je důležité pamatovat, že aktualizace UI by měla probíhat pouze v hlavním vlákně (UI thread), proto pro předání výsledků z pozadí vlákna používají Handler, runOnUiThread() nebo jiné mechanismy.