单线程模型中Message,Handler,MessageQueue,Looper之间的关系

拿主线程来说,主线程启动时会调动Looper.prepare()方法
会初始化一个Looper,放入ThreadLocal中,
接着调用Looper.loop()方法死循环遍历MessageQueue,

Handler的创建依赖于当前线程的looper类,如果当前线程没有Looper则必须调用Looper.prepare()。Handler.sendMessage到
MessageQueue,Looper不断从MessageQueue中得到消息并回调到handleMessage方法。

你可能感兴趣的:(线程)