Junior
Оё шумо роҳи эҷоди HandlerThread дар Android-ро медонед?
sobes.tech AI
Ҷавоб аз AI
Бале, манам. HandlerThread — ин класс дар Android, ки барои эҷоди як сӯзишворӣ бо давраи коркарди паёмҳо (Looper) қулай аст.
Инҷо чӣ гуна онро эҷод кардан ва истифода бурдан мумкин аст:
-
Эҷоди HandlerThread:
HandlerThread handlerThread = new HandlerThread("MyWorkerThread"); handlerThread.start(); // Муҳим аст, ки сӯзишвориро оғоз кунед -
Эҷоди Handler, ки бо HandlerThread пайваст аст:
Handler handler = new Handler(handlerThread.getLooper()) { @Override public void handleMessage(Message msg) { // Коркарди паём дар сӯзишвории handlerThread // Ин код дар сӯзишвории пасзамина иҷро мешавад } }; -
Почтаи паёмҳоро ба HandlerThread фиристед:
// Фиристодани Runnable барои иҷро дар сӯзишвории пасзамина handler.post(new Runnable() { @Override public void run() { // Иҷрои вазифа дар backgroundThread } }); // Фиристодани паём Message message = Message.obtain(); message.what = 1; // Навъи паём message.obj = "Маълумоти паём"; // Маълумот handler.sendMessage(message); -
Дастгирии HandlerThread дар ҳолати зарурӣ:
// Бехатарона қатъ кардан, интизорӣ барои коркарди паёмҳои ҳозира handlerThread.quitSafely(); // Беэътимодона қатъ кардан, бо қатъ кардани коркарди паёмҳо // handlerThread.quit();
Афзалияти асосии HandlerThread ин аст, ки он осонтар мекунад эҷоди як сӯзишворӣ барои иҷрои вазифаҳо ва имкон медиҳад, ки онҳоро тавассути Handler идора кунед, бо парҳез аз идоракунии дастӣ Looper ва MessageQueue.
Ин барои амалиётҳои дарозмуддат, ки набояд банд кардани сӯзишвории асосии UI, кӯмак мекунад.