• Android消息处理


    Android事件处理的两种模式

     

     基于监听的事件处理

      事件源Event Source, 事件Event, 事件监听器Event Listener,

      事件源将事件委托给事件监听器,由事件监听器对事件进行响应处理。

      SetXXXListener()

    基于回调的事件处理

    1. 都有一个boolean的返回值,决定事件是否继续向下传播
    2. extends button/Activity/View

    实现响应组件的方法,例如:onKeyDown(), onTouchEvent()

    在布局文件中绘制相应组件

    系统设置类Configuration,方法onConfigurationChanged()是基于回调的事件处理方法,用于监听系统设置的变化;

    Handler消息传递机制

       Handler主要功能有两个:在新启动的线程中发送消息;在主线程中获取、处理消息。

       Looper: 每个线程可以产生一个Looper,用它来管理Message Queue,从MessageQueue中取出消息

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

       Message Queue: 管理Message

      

    Handler执行过程:

       

      

     使用Handler的步骤:

    1. 创建Looper对象:Looper.prepare(); 
    2. 创建Handler子类实例,重写handleMessage()方法;

             mHandler = new Handler(){

                             handleMessage();

                    }

          3.  调用Looper.loop()方法启动loop.

          4.  在UI线程中实例化新的Looper线程,调用thread.run()启动线程;

    UI线程向新线程中的Handler发送消息 handler.sendMessage()

  • 相关阅读:
    Web前端开发中的各种CSS规范
    SVN简明课程
    使用django-compressor压缩静态文件
    今日头条视频Url嗅探
    python 异常类型
    抓包分析工具备注
    电子签章盖章之jQuery插件jquery.zsign
    程序员读书雷达
    在csdn里markdown感受
    如何在无趣的世界里,做一个有趣的人?
  • 原文地址:https://www.cnblogs.com/chenyready/p/4887187.html
Copyright © 2020-2023  润新知