Junior — Middle
როგორ გამოვავლინოთ სწორი Looper, რომელიც უნდა გამოვიყენოთ Handler-თან მონაცემების გაცვლისას ფონურ და მთავარი ნაკადებს შორის?
sobes.tech AI
პასუხი AI-სგან
Android-ში, Handler დაკავშირებულია Looper-თან, რომელიც მართავს შეტყობინებების რიგს კონკრეტული ნაკადისათვის. მონაცემების გაცვლისათვის ფონურ და ძირითადი ნაკადებს შორის, საჭიროა გამოიყენოს სწორი Looper:
- ძირითადი (UI) ნაკადისათვის გამოიყენება
Looper.getMainLooper(). - ფონურ ნაკადისთვის, შეგიძლიათ შექმნათ საკუთარი
Looper-იHandlerThread-ის გამოყენებით.
მაგალითი:
// შეტყობინებების გაგზავნა ძირითადი ნაკადში
Handler mainHandler = new Handler(Looper.getMainLooper());
// ფონურ ნაკადში, ქმნით HandlerThread-ს
HandlerThread handlerThread = new HandlerThread("MyBackgroundThread");
handlerThread.start();
Handler backgroundHandler = new Handler(handlerThread.getLooper());
// UI-ის განახლებისთვის ვიყენებთ mainHandler.post(...)
// ფონურ სამუშაოებსთვის ვიყენებთ backgroundHandler.post(...)
ამგვარად, სწორი Looper-ი ირჩევა კოდის შესრულების საჭირო ნაკადის მიხედვით: UI-სთვის — Looper.getMainLooper(), ფონისთვის — HandlerThread.getLooper().