zoukankan      html  css  js  c++  java
  • Android Handler机制简介

    1,Handler 的概念
    Handler 是用来干什么的?
    1)执行计划任务,可以在预定的时间执行某些任务,可以模拟定时器

    2)线程间通信。在Android的应用启动时,会创建一个主线程,主线程会创建一个
    消息队列来处理各种消息。当你创建子线程时,你可以在你的子线程中拿到父线程中
    创建的Handler 对象,就可以通过该对象向父线程的消息队列发送消息了。由于Android
    要求在UI线程中更新界面,因此,可以通过该方法在其它线程中更新界面。

    角色描述:
    1) Looper: 一个线程可以产生一个Looper对象,由它来管理此线程里的Message Queue

    2) Handler: 你可以构造Handler对象来与Looper沟通,以便push 新消息到 Message Queue里,或者
    接收Looper从Message Queue 里所送来的消息。

    3)Message Queue(消息队列):是用来存放线程放入的消息。

    4)线程:UI thread 通常就是 main thread,而Android 启动程序时会替它建立一个Message Queue。

    每一个线程里可含有一个 Looper 对象以及一个 Message Queue 数据结构。在你的应用程序里,
    可以定义 Handler 的子类别来接收 Looper 所送出的消息。

    2,Handler 的执行过程

     

    每个handler 对应一个线程 thread ,  在子线程中 handler 发送的消息会进入到 Message Queue当中去,由 looper 再来分发给 Handler 处理。

  • 相关阅读:
    sdut1282Find the Path (floyd变形)
    sdut1933WHUgirls(dp)
    二分图入门题集
    Codeforces Round #230 (Div. 1)
    PHP中关于 basename、dirname、pathinfo 详解
    nginx php mysql日志配置
    确保 PHP 应用程序的安全 -- 不能违反的四条安全规则
    mysql日期时间处理
    mysql索引类型和索引方法
    php Redis函数使用总结(string,hash,list, set , sort set )
  • 原文地址:https://www.cnblogs.com/android-for-dh/p/4466934.html
Copyright © 2011-2022 走看看