Middle
Mis on Looper Androidis?
sobes.tech AI
Vastus AI-lt
Looper on Android klass, mida kasutatakse sõnumijada (MessageQueue) töötlemiseks lõimedes. See ühendab lõime sõnumijadaga, võimaldades tal saada ja töödelda selle järjekorra sõnumeid.
Tööpõhimõte:
- Looperi loomine: Selles lõimes, millel peab olema sõnumijada, kutsutakse välja
Looper.prepare(). - Tsükli käivitamine: Kutsutakse välja
Looper.loop(). See kutse blokeerib lõime kuniLooperlõpetatakse. Looperi tsükli jooksul võtab see pidevalt sõnumeidMessageQueue-st ja saadab need sihtmärgileHandler. - Looperi lõpetamine: Looperi töö lõpetamiseks kutsutakse välja
Looper.quit()võiLooper.quitSafely().
Handler kasutatakse sõnumite saatmiseks MessageQueue-le ja nende töötlemiseks selle Looper-ga seotud lõimes. Näide kasutamisest:
// Lõimes, kus peab olema Looper
new Thread(() -> {
Looper.prepare(); // 1. Looper ja MessageQueue luuakse selle lõime jaoks.
Handler handler = new Handler(Looper.myLooper()) { // 2. Handler luuakse selle lõime Looperiga seotud.
@Override
public void handleMessage(Message msg) {
// Sõnumi töötlemine selles lõimes
}
};
Looper.loop(); // 3. Käivitatakse Looperi tsükkel sõnumite töötlemiseks.
}).start();
// Teises lõimes sõnumi saatmine
handler.sendMessage(/* teie sõnum */);
Looper on vajalik selleks, et lõimed saaksid töötada asünkroonsete ülesannete ja lõimedevahelise suhtlusega, eriti UI-lõimes, millel on vaikimisi Looper.