为了账号安全,请及时绑定邮箱和手机立即绑定

Android-----Handler学习心得

标签:
Java Android
  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
    图片描述
点击查看更多内容
15人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
移动开发工程师
手记
粉丝
2
获赞与收藏
118

关注作者,订阅最新文章

阅读免费教程

感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消