--- 个人理解,不知是否正确 ---
先来张图镇贴
1.创建一个Handler对象,负责发送和处理Message(消息)
2.创建一个Looper对象(可以理解为消息循环),通过Looper.prepare()创建,同时会创建一个MessageQueue(消息队列)。如果是在主线程中,Android系统会自动完成这一步
3.获得一个Message对象,通过Handler.obtainMessage()或Message.obtain(),如果消息池中有可用Message对象,则直接取出,如果没有,返回newMessage().往Message对象中添加所需数据
4.将Message对象添加到消息队列MessageQueue中
5.回调Looper.loop()方法循环从消息队列中收取消息,交给对应的Handler处理,处理完后将Message对象放回到消息池中。如果是在主线程中,Android系统会自动完成这一步
至于细节方面,待续............