Sobes.tech
Junior

Androidda HandlerThread yaratish usulini bilasizmi?

sobes.tech AI

AIdan javob

Ha, bilaman. HandlerThread Androidda qulay foydalanish uchun mo'ljallangan klass bo'lib, xabarlarni qayta ishlash tsikli (Looper) bilan ishchi ipni yaratish uchun qulaydir.

Mana uni qanday yaratish va ishlatish mumkin:

  1. HandlerThread yaratish:

    HandlerThread handlerThread = new HandlerThread("MyWorkerThread");
    handlerThread.start(); // Bu muhim, ipni ishga tushurish
    
  2. Handlerni HandlerThread bilan bog'lash:

    Handler handler = new Handler(handlerThread.getLooper()) {
        @Override
        public void handleMessage(Message msg) {
            // handlerThread ipida xabarni qayta ishlash
            // Bu kod fon ipida bajariladi
        }
    };
    
  3. Xabarlarni HandlerThreadga yuborish:

    // Fon ipida bajariladigan Runnable yuborish
    handler.post(new Runnable() {
        @Override
        public void run() {
            // backgroundThread ipida bir vazifa bajarish
        }
    });
    
    // Xabar yuborish
    Message message = Message.obtain();
    message.what = 1; // Xabar turi
    message.obj = "Xabar ma'lumotlari"; // Ma'lumotlar
    handler.sendMessage(message);
    
  4. HandlerThreadni zarur bo'lsa to'xtatish:

    // Xavfsiz to'xtatish, joriy xabarlarni qayta ishlashni kutish
    handlerThread.quitSafely();
    
    // Xavfsiz bo'lmagan to'xtatish, qayta ishlashni to'xtatish
    // handlerThread.quit();
    

HandlerThreadning asosiy afzalligi shundaki, u vazifalarni bajarish uchun fon yaratishni soddalashtiradi va bu vazifalarni Handler orqali boshqarishga imkon beradi, Looper va MessageQueueni qo'lda boshqarishdan qochadi. Bu uzoq davom etadigan operatsiyalar uchun foydalidir, ular asosiy UI ipini bloklamasligi kerak.