Handler

多线程与异步

Handler用来做什么?
1、定时执行Message和MessageQueue;
2、在不同线程中执行Runnable。

Handler怎么使用?

obtainMessage() //取得消息
sendMessage() //发送消息
handlerMessage() //处理消息

Message、 MessageQueue、Looper

Message 有2个整型数值 和 1个Object;
MessageQueue是Message的队列
Looper消息泵

Looper的原理

如何使用:
1、是MessageQueue的管理者;
2、Looper.prepare()
3、每一个Looper对象和一个线程关联
4、Looper.myLooper()可以获得当前线程的Looper对象

Looper从MessageQueue中取出Message,交由Handler的handlerMessage进行处理;调用Message.recycle()将其放入Message Pool中。

你可能感兴趣的:(Handler)