Middle
Kas ir Looper Android?
sobes.tech AI
Atbilde no AI
Looper irklase Android, kas tiek irstrādā ar ziņojumu rindu (MessageQueue) šūnās. Tas sasaista šūni ar ziņojumu rindu, ļaujot tai saņemt un apstrādāt no šīs rindas ienākošos ziņojumus.
Darbības princips:
- Looper izveide: Šūnā, kam jābūt ziņojumu rindai, tiek izsaukts
Looper.prepare(). - Cikla uzsākšana: Tiek izsaukts
Looper.loop(). Šis izsaukums bloķē šūni, kamērLoopernetiks apturēts. Cikla laikāLoopernepārtraukti izvelk ziņojumus noMessageQueueun nosūta tos mērķaHandler. Looperapturēšana: Darba beigšanai tiek izsauktsLooper.quit()vaiLooper.quitSafely().
Handler tiek izmantots, lai sūtītu ziņojumus MessageQueue Looper un apstrādātu tos saistītajā šūnī. Piemērs:
// Šūnā, kurai jābūt `Looper`
new Thread(() -> {
Looper.prepare(); // 1. Tiek izveidots `Looper` un `MessageQueue` šai šūnai.
Handler handler = new Handler(Looper.myLooper()) { // 2. Tiek izveidots `Handler`, kas ir saistīts ar šīs šūnas `Looper`.
@Override
public void handleMessage(Message msg) {
// Ziņojuma apstrāde šajā šūnī
}
};
Looper.loop(); // 3. Sākas `Looper` cikls ziņojumu apstrādei.
}).start();
// Citā šūnā, ziņojuma sūtīšana
handler.sendMessage(/* jūsu ziņojums */);
Looper ir nepieciešams, lai šūnas varētu apstrādāt asenhroniskas uzdevumus un savstarpēji komunicēt, īpaši, strādājot ar UI šūnu (kas pēc noklusējuma ir ar Looper).