Ghiduri

Ce este Android Looper?

Android Looper este o clasă Java din interfața de utilizare Android care împreună cu clasa Handler procesează evenimente UI, cum ar fi clicuri pe butoane, redesenări de ecran și comutatoare de orientare. Acestea pot fi, de asemenea, utilizate pentru a încărca conținut într-un serviciu HTTP, a redimensiona imaginile și a executa cereri de la distanță. Abilitatea cheie a acestor clase este aceea de a putea implementa un model de concurență.

Scop

Android împiedică programatorii să actualizeze componentele UI din majoritatea firelor, cu excepția firului principal. Folosind Android Looper și Android Handler, se poate crea un fir separat care actualizează interfața de utilizare. Procesul implică crearea unei clase Handler care este asociată cu firul principal și apoi atașarea unei comenzi runnable la acesta. Comanda este apoi implementată ulterior prin Looper.

Android Looper

Clasa Android Looper conține un MessageQueue și este asociat doar cu firul din care a fost creată. Rețineți că această conexiune nu poate fi întreruptă și că Looperul nu poate fi atașat la niciun alt fir. În plus, Looper se află în stocarea locală și poate fi apelat doar dintr-o metodă statică. O metodă de pregătire verifică dacă un Looper este deja asociat cu un fir și apoi metoda statică creează Looper. Apoi, o buclă poate fi utilizată pentru a verifica dacă există mesaje în coadă.

Android Handler

Clasa Android Handler se ocupă de adăugarea, eliminarea și actualizarea mesajelor într-un anumit MessageQueue. Handlerele sunt atașate la Loopers și firele lor asociate, dar mai multe Handler pot fi atașate la un singur thread. Ori de câte ori metodele sunt transmise către Handler, un mesaj nou apare în MessageQueue. Câmpul țintă al mesajului este configurat pentru instanța Handler, astfel încât atunci când Looper procesează mesajul, acesta direcționează mesajul înapoi către Handler, permițând astfel procesarea evenimentului pe firul corespunzător.

Informații suplimentare

Android Looper conține 11 metode, inclusiv void, getMainLooper, getThread, loop, myLooper, myQueue, pregătește, prepareMainLooper, renunță, setMessageLogging și toString. Avantajul utilizării claselor Android Looper și Android Handler este că împiedică dezvoltatorii să blocheze accesul la componentele UI din cauza îngrijorării accesului simultan, adică un utilizator care face clic pe un buton pe măsură ce este actualizat.

$config[zx-auto] not found$config[zx-overlay] not found