阅读的书籍:《Android开发艺术探索》
关键词:Android的消息机制概述、分析,主线程的消息循环
Android的消息机制概述:Android的消息机制主要是指Handler的运行机制以及Handler所附带的MessageQueue和Looper 的工作过程
Handler是 Android消息机制的上层接口,这使得在开发过程中只需要和Handler交互即可,它不是专门用来更新UI的,只是经常被我们用来更新UI
Handler出现的原因:
Android规定访问UI只能在主线程中进行,主线程中不能进行耗时的操作(ANR);但比如有时我们需要从服务器拉取数据,然后得到数据后更新UI,由于这是个耗时操作,所以不能在主线程中进行,但更新UI又只能在主线程,这就出现了矛盾
Handler的主要作用:将一个任务切换到某个指定的线程中执行,任务结束后再切换回主线程更新UI
Handler的工作原理:
Handler创建时会采用当前线程的Looper来构建内部的消息循环系统,如果当前线程没有Looper就会报错
- 可以通过Handler的post方法将一个Runnable投递到Handler内部的Looper中去处理
- 也可以通过Handler的send方法发送一个消息到Looper中去处理