阅读量:5
HandlerThread 是一个具有 Looper 的线程类,用于处理来自其他线程的消息队列。以下是如何创建和管理 HandlerThread 的步骤:
- 创建 HandlerThread 对象:
HandlerThread handlerThread = new HandlerThread("MyHandlerThread"); handlerThread.start();
- 获取 HandlerThread 的 Looper 和 Handler 对象:
Looper looper = handlerThread.getLooper(); Handler handler = new Handler(looper) { @Override public void handleMessage(Message msg) { // 处理消息 } };
- 向 HandlerThread 发送消息:
handler.sendMessage(handler.obtainMessage(MESSAGE_WHAT, MESSAGE_ARG1, MESSAGE_ARG2));
- 在 HandlerThread 中处理消息:
@Override public void run() { // 在 HandlerThread 中处理消息 Looper.prepare(); Handler handler = new Handler() { @Override public void handleMessage(Message msg) { // 处理消息 } }; Looper.loop(); }
- 停止 HandlerThread:
handlerThread.quit();
通过以上步骤,可以创建和管理一个 HandlerThread,用于处理来自其他线程的消息。 HandlerThread 可以帮助我们在后台线程中处理任务,避免在主线程中进行耗时操作。