Android之Handler、Message、MessageQueue、Looper详解
Handler
Handler的原理
Handler的原理:
Android中主线程是不能进行耗时操作的,子线程是不能进行更新UI的。所以就有了Handler,它的作用就是实现线程之间的通信。
Handler整个流程中,主要有四个对象,handler,Message,MessageQueue,Looper。当应用创建的时候,就会在主线程中创建handler对象,我们通过要传送的消息保存到Message中,handler通过调用sendMessage方法将Message发送到MessageQueue中,Looper对象就会不断的调用loop()方法 不断的从MessageQueue中取出Message交给handler进行处理。从而实现线程之间的通信。
线程间通信的实现步骤
线程间通信的实现步骤:
- 在主线程中定义Handler的子类
- 重写Handler类的handleMessage()方法
- 用该子类定义全局的Handler对象,以便子线程使用
- 子线程获得handler对象