多线程与异步
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中。