一个线程只能设置一个Looper 不然程序就会抛出异常。除了主线程(UI线程)外 ,其他线程里想要使用handler需要 Looper.prepare(); 创建Looper 然后在Handler 下面 调用Looper.loop(); 让 压缩机 跑进来,为啥主线程不用这样呢?因为主线程自己初始化了,表面上你看不到而已。
更具实践证明 你可以new 很多Handler 以及发送消息、处理。说明 Looper 可以对应 很多个 Handler 。创建Looper对象的时候会去创建一个messageQueue,说明 Looper 对象只会对应一个 MessageQueue ,而一个线程也只有一个Looper ,即一个线程只有 一个 MessageQueue。
转载请注明原文地址: https://ju.6miu.com/read-1182.html