Handler 是异步处理消息处理类,常用来处理子线程发送的消息,更新UI
Handldr 是 Android 面试的常客,这一篇不讲怎么使用Handler,怎么创建。讲一讲:Handler 、 Looper 、Message(看作是一个任务) 这三者都与Android异步消息处理线程相关的概念,下面主要是理论性的知识,要想深入学习请看
消息处理线程运行原理
异步消息处理线程启动后会进入一个无限的循环体之中,每循环一次,从其内部的消息队列中取出一个消息,然后回调相应的消息处理函数,执行完成一个消息后则继续循环。若消息队列为空,线程则会阻塞等待。
- 用Loop创建MessageQueue
- MessageQueue是一个消息队列,用来存放消息,并不断地循环读取Message(任务)
———————————这两个方法一般不需要我们去操作—————————–- 创建子线程,在里面用 Message.obtain();创建message,这个方法可以判断队列中是否存在相同得Message,防止重复创建
- 使用handler发送message(数据),handler内部类中的handlerMessage方法会接收发送的消息,并处理
下面是整个机制的示例图
这篇CSDN只适用于应届毕业生或者是小白去理解,不是很详细,请多包含