继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

Android-----Handler学习心得

那一瞥的温柔
关注TA
已关注
手记 1
粉丝 2
获赞 118
  1. Handler
    a. Handler是android给我们提供的更新UI的一套机制,也是一套消息处理机制,我们可以
    用来发送消息,也可以通过它处理消息。
    b. Activity的生命周期回调底层就是通过handler实现的
    c. Handler的用法:
          i. handler.postRunnable()
         ii. Handler.sendMessage()和handler.handlerMessage()
         iii. Message可以通过arg1和arg2带整形参数,也可以通过obj带一个对象参数
         iv. Handler.removeCallbacks(Runnable runnable)可以从handler中移除一个消息
         v. 通过new Handler(Callback callback)构造函数,通过callback函数的返回值是否为true,
         可以截断handler发送的消息,从而让callback来处理消息,而不会调用到handler对象自身的handleMessage方法如图:
    图片描述
    d. Handler的原理是什么?Handler,Looper,MessageQueue的关系。
        i. Handler:是封装消息的发送,即向消息队列中添加一条消息。
    图片描述
        ii. Looper:内部包含一个消息队列也就是MessageQueue,所有的Handler发送的消息
         都走向这个消息队列。通过Looper.loop死循环不断读取队列中的消息并发送到message
        的target(handler自己)。
        Looper.loop关键代码:
    图片描述
        iii. MessageQueue,就是一个消息队列,可以添加消息并将消息发送回handler自己
        iv. 总结:Handle负责发送消息,Looper负责接收Handler发送的消息,并直接把消息
        回传给handler自己,MessageQueue就是一个存储消息的容器。
        v. 自定义与线程相关的handler
    图片描述
打开App,阅读手记
15人推荐
发表评论
随时随地看视频慕课网APP