Sobes.tech
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().