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并不是很关心!

  • 相关阅读:
    浏览器返回按钮不会触发onLoad事件
    js常用方法
    清除浮动
    Hbuilder快捷键
    页面跳转
    castapp.js颜色配置
    mui学习
    css 特殊使用技巧
    mui框架如何实现页面间传值
    从0到千万级访问量网站架构演变史
  • 原文地址:https://www.cnblogs.com/softwarelanguagebs/p/4714670.html
Copyright © 2011-2022 走看看