Handler

作者: jockerMe | 来源:发表于2016-06-15 23:37 被阅读58次

    Handler允许你发送和处理信息,Runnable对象与线程的MessageQueue相关联。每个Handler实例与一个线程和线程的消息队列相关联。当你创建一个一个新的消息处理程序,它将被绑定到创建他的消息线程。

    Hander有两种主要的用途:调度信息以及在未来的某一刻将被执行。在不同的线程排列动作。

    实现调度信息可以使用以下方法** post(Runnable),post(Runnalbe, long)postDelayed(Runnalbe,long)sendEmptyMessage(int)sendMessage(Message)sendMessageAtTime(Message,long)sendMessageDelayed(Message,long)**方法,post版本的方法允许你排队Runalbe对象,当messagequeue收到对象时可以调用,sendMessage版本允许你排队Message对象包含一个bundle对象储存数据然后调用handlemessage(message)方法进行处理。

    当Handler接受post 或者 send方法,你

    Return Func
    interface Handler.Callback 回调接口
    Public Constructors
    Handler() 当前线程Looper绑定的handler的默认构造器
    Handler(Handler.Callback callback)
    Handler(Looper looper) 使用提供的Looper替代默认的
    Handler(Looper looper,Handler.Callback callback)
    Return Func
    void dispathMessage(Message msg) Handle system message here
    final void dump(Printer pw , String prefix)
    final Looper getLooper()
    String getMessageName(Message message)返回message标记的名字
    void handleMessage(Message msg)在子类中必须实现以处理接受到的消息
    final boolean hasMessage(int what,object object)查看消息队列中是否有message 包含what 代码 以及 object对象
    final boolean hasMessage(int what) 查看消息队列中是否有message 包含what代码
    final Message obtainMessage(int what, int arg1, int arg2)匹配消息池中包含what,arg1,arg2成员,并且返回该消息
    final Message obtainMessage() 从全局消息池中返回一个新的消息
    final Message obtainMessage(int what, int arg1,int arg2, Object obj)
    final Message obtainMessage(int what)
    final Message obtainMessage(int what,Object obj)
    final boolean post(Runalble r)将Runalbe r 添加到消息队列
    final boolean postAtFrontQueue(Runable r)

    相关文章

      网友评论

          本文标题:Handler

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