Junior
Kas tead, kuidas luua HandlerThread Androidis?
sobes.tech AI
Vastus AI-lt
Jah, ma tean. HandlerThread on Androidi klass, mis on mugav kasutada sõlme loomiseks koos sõnumitsükliga (Looper).
Siin on, kuidas seda saab luua ja kasutada:
-
HandlerThreadi loomine:
HandlerThread handlerThread = new HandlerThread("MinuTööSõlm"); handlerThread.start(); // Oluline on käivitada sõlm -
Handleri loomine, mis on seotud HandlerThreadiga:
Handler handler = new Handler(handlerThread.getLooper()) { @Override public void handleMessage(Message msg) { // Sõnumi töötlemine handleri sõlmes // See kood täidetakse taustal } }; -
Sõnumite saatmine HandlerThreadile:
// Runnable saatmine taustal täitmiseks handler.post(new Runnable() { @Override public void run() { // Teha mingi ülesanne taustal } }); // Sõnumi saatmine Message message = Message.obtain(); message.what = 1; // Sõnumi tüüp message.obj = "Sõnumi andmed"; // Andmed handler.sendMessage(message); -
HandlerThreadi peatamine vajadusel:
// Ohutu lõpetamine, oodates, kuni praegused sõnumid töödeldakse handlerThread.quitSafely(); // Ohtlik lõpetamine, katkestades töötlemise // handlerThread.quit();
Peamine eelis HandlerThread-i puhul on see, et see lihtsustab taustatööde loomist ja võimaldab nende tööde juhtimist läbi Handler, vältides käsitsi Looper ja MessageQueue haldamist.
See on kasulik pikaajaliste operatsioonide jaoks, mis ei tohiks blokeerida peamist UI-sõlme.