Middle
Android-də Looper nədir?
sobes.tech Süni İntellekt
AI-dan cavab
Looper Android-də, mesaj növbəsi (MessageQueue) ilə işləmək üçün istifadə olunan sinifdir. O, bir ipi mesaj növbəsinə bağlayır və ona bu növbədən mesajlar almağa və işləməyə imkan verir.
İş prinsipi:
- Looper yaradılması: Mesaj növbəsi olması lazım olan ipdə
Looper.prepare()çağırılır. - Döngünün başlaması:
Looper.loop()çağırılır. Bu çağırışLooperdayandırılana qədər ipi bloklayır. Döngü daxilində,Looperdavamlı olaraqMessageQueue-dən mesajlar çıxarır və onları hədəfHandler-a göndərir. - Looper-un dayandırılması: İşi bitirmək üçün,
Looper.quit()və yaLooper.quitSafely()çağırılır.
Handler, Looper-ın MessageQueue-suna mesaj göndərmək və onları əlaqəli ipdə işləmək üçün istifadə olunur. İstifadə nümunəsi:
// Looper-in olması lazım olan ipdə
new Thread(() -> {
Looper.prepare(); // 1. Bu ip üçün Looper və MessageQueue yaradılır.
Handler handler = new Handler(Looper.myLooper()) { // 2. Bu ipin Looper-ına bağlı Handler yaradılır.
@Override
public void handleMessage(Message msg) {
// Bu ipdə mesajın işlənməsi
}
};
Looper.loop(); // 3. Mesajların işlənməsi üçün Looper döngüsü başlanır.
}).start();
// Digər ipdə, mesaj göndərmək
handler.sendMessage(/* mesajınız */);
Looper-ın olması, iplərin asinxron tapşırıqları işləməsi və bir-biri ilə əlaqə qurması üçün vacibdir, xüsusən UI ipi ilə işləyərkən (standart olaraq Looper-a malikdir).