为什么在Android中使用HandlerThread?
为什么在Android中使用HandlerThread?
在Android中,Handler可用于发布/处理消息,如果我不使用HandlerThread(将其Looper传递给Handler),那么这种情况下Handler是否使用了主线程(UI线程)的Looper?
如果Handler使用主线程的Looper,将会得到什么结果?可能会导致主线程阻塞吗?
admin 更改状态以发布 2023年5月23日
HandlerThread 的正常使用方法如下:
HandlerThread thread = new HandlerThread("A Handler Thread"); thread.start(); Handler handler = new Handler(thread.getLooper()){ @Override public void handleMessage(Message msg) { //.... } };
由于 HandlerThread 可以为 Handler 创建一个 Looper,因此这是一种方便的方式。
当你创建一个新的 Handler 时,它与创建它的线程/消息队列绑定—请参见官方文档…