zoukankan      html  css  js  c++  java
  • hander消息机制原理(looper轮询监听机制)

    基本原理

    线程中调用Handler.sendMsg()方法(参数是Message对象),将需要Main线程处理的事件 添加到Main线程的MessageQueue中,Main线程通过MainLooper从消息队列中取出Handler发过来的这个消息时,会回调 Handler的handlerMessage()方法。

    注意:(UI主要线程中才有Looper)
    创建一个Handler时一定要关联一个Looper实例,默认构造方法Handler(),它是关联当前Thread的Looper
    在创建一个Handler的时候也可以指定Looper,此时的Looper对象,可以是当前线程的也可以是其它线程的!

    多线程中使用,容易造成内存泄漏;也可以用RunOnuiThread()来替代。

    ps:MessageQueue是消息队列,先进先出,它的作用是保存有待线程处理的消息。

    Handler只是处理它所关联的Looper中的MessageQueue中的Message,至于它哪个线程的Looper,Handler并不是很关心!

  • 相关阅读:
    深入分析String类型(一)
    创建泛型类
    XML数据的读取—数据库配置文件
    Config配置文件读写
    jQuery动画
    设置屏幕快捷键
    jQuery事件
    jQuery操作DOM
    Python 二进制文件网址
    Centos使用crontab自动定时备份mysql的脚本
  • 原文地址:https://www.cnblogs.com/softwarelanguagebs/p/4714670.html
Copyright © 2011-2022 走看看