美文网首页
Handler的线程操作原理

Handler的线程操作原理

作者: 没风的地方 | 来源:发表于2017-11-25 11:39 被阅读9次

本文参考了http://blog.csdn.net/liao277218962/article/details/48757709,感谢作者。

系统为每个应用维护一个进程,每个进程维护一个消息队列MessageQueue和一个Looper,他们可以绑定多个Handler。

Handler的新建

新建handler源码

从图中可以看到,创建Handler时会获取全局的Looper,再通过Looper获取MessageQueue的实例。

Handler的定位和作用(个人理解,有错望指正):

一个信息载体,可以在进程的主线程和子线程创建。

主要作用在于线程间的信息传递,举个栗子:

UI线程需要获取显示在界面上的数据,需要进行耗时的操作,这时需要开启子线程来执行下载,下载的数据如何能给到

UI线程,这就使用到了Handler的sendMessage,把一个消息添加到Messagequeue中,在UI线程实现handleMessage

获取对应的Message对象,并在里面实现自己的业务逻辑,包括更新UI等。

相关文章

  • Handler的使用

    Handler通信工作原理 Android中为了UI操作线程安全,只允许UI线程更新Activity里的UI组件。...

  • Handler的线程操作原理

    本文参考了http://blog.csdn.net/liao277218962/article/details/4...

  • 源码分析AsyncTask的工作原理

    一、AsyncTask原理介绍 AsyncTask的实现原理 = 线程池+ Handler 其中:线程池用于线程调...

  • Handler 的工作原理

    参考资料gityuan 一、Handler原理 Handler 是 Android 中线程间通信的组件。在异步线程...

  • Handler

    1. Handler 的前世今生 2. 为什么要Handler 子线程不能操作UI ,用Handler 从子线程切...

  • AsyncTask解析

    1.基本原理 AsyncTask的基本原理是:线程池 + Handler,内部封装了2个线程池和1个Handler...

  • AsyncTask解析

    1.基本原理 AsyncTask的基本原理是:线程池 + Handler,内部封装了2个线程池和1个Handler...

  • Android Handler之线程切换的原理(五)

    想要知道Handler切换线程的原理,还得知道Handler、Looper的工作流程

  • Handler

    Handler target Handler 的前世今生 为什么要Handler子线程不能操作UI ,用Handl...

  • Handler :

    Handler 1.Handler 的前世今生 2.为什么要Handler 子线程不能操作UI ,用Handler...

网友评论

      本文标题:Handler的线程操作原理

      本文链接:https://www.haomeiwen.com/subject/pmzqbxtx.html