课程
/移动开发
/Android
/Android面试常客Handler详解
他会自动绑定主线程的LOOPER?
是不是不推荐自己在子线程中创建looper对象?
2016-05-20
源自:Android面试常客Handler详解 9-1
正在回答
每一个handler必须要对应一个looper,主线程会自动创建Looper对象,不需要我们手动创建,所以主线程可以直接创建handler。
在new handler的时候没有传入指定的looper就会默认绑定当前创建handler的线程的looper,如果没有looper就报错。
如果自己开个子线程,那肯定得自己创建looper对象啊,或者用HandlerThread,的getlooper也行。
嗟嗟嗟 提问者
老师有讲的,
handler负责消息发送,Looper负责接受Handler发送的消息,并直接把消息回传给handler自己(通过Looper.looper()方法)。MessageQueue就是一个存储消息的容器。
记着这句话你就不会那么纠结了...
举报
学Android开发,必学Handler,也是Android面试常客