求解答!!!!!!!!

求解答!!!!!!!!

我想问这个这一节课程中,CountdownTimeHandler在主线程创建一个handler后,handler 发送消息,然后消息是发送给CountdownTimeHanler这个静态类中的一个void handlemessage()这个方法里处理的嘛,然后在这个静态类中的handleMessage方法体内又进行了类似的消息发送,那此时相当于是在handleMessage()这个方法体在循环处理和发送信息吗,

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
irista23 2019-10-21 15:19:17

Handler是试用了异步回调机制,他的作用就是发送与处理信息。当我们的子线程想修改UI时,我们可以创建一个Handler对象,通过这个对象向主线程发送信息例如handler.sendMessage();而我们发送的信息会先到主线程的MessageQueue进行等待,由Looper按先入先出顺序取出,再根据message对象的what属性分发给对应的Handler进行处理handleMessage()。

  • 提问者 慕工程6972752 #1
    嗯嗯,这样说我理解又深了一些,在课程中没有使用到Looper,视频中直接新建了一个静态类去解决内存泄漏问题,而那个静态类里的handleMessage()进行了对应的消息发送和处理,在handleMessage()不是对于信息的处理嘛,但是视频中编写的代码在handleMessage()也写了一个sendMessage()实现了倒计时的功能,所以我想清楚的知道是不是实现倒计时的功能是因为在handleMessge()中起到了循环的作用,反复调用自己
    2019-10-21 15:29:51
  • 提问者 慕工程6972752 #2
    还有我想问下那个handle发送信息后,到底是哪个进行信息的处理
    2019-10-21 15:32:37
  • irista23 回复 提问者 慕工程6972752 #3
    一个Handler对应一个Looper对象,一个Looper对应一个MessageQueue对象。需要循环处理MessageQueue中的Message的是Looper
    2019-10-21 15:38:29
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星

相似问题

登录后可查看更多问答,登录/注册

2.Android 网络操作与流行框架
  • 参与学习           人
  • 提交作业       220    份
  • 解答问题       1800    个

本阶段是联网及数据处理的必备技能。课程从网络基础知识到线程间协同工作、异步下载处理;从文件存储、到轻量级数据库SQLite的使用;最后利用最流程的第三方框架助你快速开发企业级APP。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师