Android Handler机制的原理
2016-07-14 16:55
246 查看
一、设计这套机制的原因
主要是为了解决在非UI线程中更新UI组件比较麻烦的问题。二、如何实现这套机制
UI线程中有一个线程专属的Looper对象,它负责安排所有准备在UI线程上执行的代码。Looper对象通过消息机制接受系统或者应用的其他线程提交的准备在UI线程上执行的代码。Handler对象发送一个消息给Looper对象,这个消息中可以包含一定的数据(消息的what域和obj域就是用来包含数据的),要执行的代码就是Handler中的handleMessage方法,该方法会收到发送给Looper的消息,进而可以从中取出数据再执行代码。
主线程起来以后有一个消息队列,同时和该队列配对的有一个轮询,而子线程有这个消息队列的引用,那这样,子线程处理完以后就会向主线程的消息队列发消息,主线程轮询自己的队列,发现有未处理的消息就进行处理。这就是handler的机制
相关文章推荐
- Handler机制源码解析
- android面试常见的handler机制 AIDL机制 高级控件UI 内存优化
- 安卓Handler机制的简单介绍——随机点名案例
- 从子线程不能直接新建一个Handler对象来剖析android的Handler机制
- android handler机制
- android UI(内容)更新的方法之handler、runOnUiThread()
- handler机制理解
- Handler实现TextView文字闪烁
- Handler详解
- Handler认识与Handler的消息发送机制
- android handler机制原理
- android handler在android中的应用
- Handler机制详解
- 从源码角度深入理解Handler处理机制
- Android Handler机制
- Android Framework学习(八)之Handler消息机制(Native层)解析
- Android 并发二三事之 IntentService Handler 机制再次来袭
- Android 消息机制
- Handler浅析——学习笔记
- android Handler 机制