Middle
Androidдеги Looper деген эмне?
sobes.tech AI
AIден жооп
Looper Android-те класс болуп саналат, ал билдирүү кезеги (MessageQueue) менен иштөө үчүн колдонулат. Ал бир жипти билдирүү кезеги менен байланыштырып, ага ушул кезектен билдирүүлөрдү кабыл алуу жана иштетүүгө мүмкүндүк берет.
Иштөө принциби:
- Looper түзүү: Билдирүү кезеги болушу керек болгон жипте
Looper.prepare()чакырылат. - Циклди баштоо:
Looper.loop()чакырылат. Бул чакыруу жипти блоктоп турат, докеLooperтоктотулбасын. Цикл ичинде,LooperүзгүлтүксүзMessageQueue'дан билдирүүлөрдү чыгарып, аларды максаттууHandler'га жиберет. - Looperду токтотуу: Жумушту аяктоо үчүн,
Looper.quit()жеLooper.quitSafely()чакырылат.
Handler Looper'дун MessageQueue'на билдирүүлөрдү жиберүү жана аларды тиешелүү жипте иштетүү үчүн колдонулат. Колдонуу мисалы:
// Looper болушу керек болгон жипте
new Thread(() -> {
Looper.prepare(); // 1. Бул жип үчүн Looper жана MessageQueue түзүлөт.
Handler handler = new Handler(Looper.myLooper()) { // 2. Бул жиптин Looper менен байланышкан Handler түзүлөт.
@Override
public void handleMessage(Message msg) {
// Бул жипте билдирүүнү иштетүү
}
};
Looper.loop(); // 3. Билдирмелерди иштетүү үчүн Looper цикли башталат.
}).start();
// Башка жипте, билдирүү жөнөтүү
handler.sendMessage(/* сиздин билдирүүңүз */);
Looper жиптерге асинхрондуу тапшырмаларды иштетүүгө жана бири-бири менен байланышууга мүмкүндүк берет, өзгөчө UI жип менен иштөөдө (ал алдын ала Looper менен келет).