new Thread(new Runnable() { @Override public void run() { Looper.prepare(); //选择一个线程(二选一) //1.非ui线程 Handler handler = new Handler(Looper.myLooper()); //2.UI线程 Handler handler = new Handler(Looper.getMainLooper()); Looper.loop(); } }).start();
HandlerThread是一个工具类,针对上述代码的封装。
使用方法:
- 创建 HandlerThread 对象,并调用 start 方法启动。
- 使用 HandlerThread 获取 Looper,用 Looper 创建 Handler 。
- 使用 handler 发送消息,并在 处理消息。
- 不再使用时通过 quit 或 quitSafely 来终止线程。