在主线程启动的时候,会调用looper.prepare(),初始化一个looper并将此looper放到ThreadLocal中,然后调用looper.loop(),不断的循环从MessageQueue中取出消息。
handler的创建依赖与当前线程的looper,如果当前线程中没有looer则必须调用looper.prepare()创建一个looper,handler调用sendMessage()发送消息到MessageQueue中,looper则不断从MessageQueue中取出消息并调用回调函数,handleMessage()。