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

Android面试常客Handler详解

难度中级
时长 2小时 0分
学习人数
综合评分9.30
169人评价 查看评价
9.7 内容实用
9.3 简洁易懂
8.9 逻辑清晰
LiveData 配 ViewModel 感觉比 handler 配 message 手更长呢~
初学者看不懂 直接看4-2节就好了 之后在慢慢想这个节就行 帮忙顶一下
初学者直接看4-2节就好了 帮忙顶一下

最新回答 / 慕移动9181930
嗯装个PHP、Apache、MySQL就能跑起来了^_^...第8,9,12,13行的最后加上分号,第10行if条件语句中写==就行了
第二个例子,postDelayed(Runnable, long)外面放一个子线程,这样的例子更好,谢谢讲解,就是讲的太快了。
你可以创建自己的线程,并通过Handler与主应用程序线程进行通信,这是通过调用上面介绍的post或sendMessage方法来发送Runnable或Message完成的,但这是在你创建的新线程里来完成的。然后给定的Runnable或Message将被安排在Handler所绑定的message queue消息队列中,并在适当时进行处理。
当为你的应用程序创建一个进程(process)时,这个进程的主线程(main thread)专门用于运行一个message queue消息队列,该消息队列负责管理顶级应用程序对象(比如说活动activities,广播接收器broadcase receivers等)以及它们创建的任何窗口(windows)。
在posting或sending给Handler时,您可以在message queue准备就绪时立即处理该item,或者在处理它之前指定延迟或指定延迟处理的绝对时间。后两者允许你实现timeouts,ticks以及其他基于时间的行为。
Handler主要有两个用途:(1)安排messages和runnables在之后的某个时间去执行,也就是定时的执行messages和runnables对象;(2)将一个处理的事件入队并且在另外一个线程上去执行。
我把文档认真翻译了一下,希望能帮到大家

一个Handler允许你发送或处理一个Message或Runnable对象,并且这个Handler与创建他的线程的MessageQueue相关联。每一个Handler实例与一个带有Message queue的单一线程进行绑定。当你创建一个新的Handler实例的时候,他默认会绑定到你创建Handler的线程的Message queue当中。从这时起,Handler将向该消息队列(message queue)传递消息(message)和可运行信息(runnables),并且在执行完这些信息后,将所传递的信息在message queue中移除。
有不好的地方就是要提建议啊,难道还不能提建议了?主要是开始的时候说讲原理,结果却只是演示怎么敲,不说一下到底是什么意思
讲的太快了,应该讲的慢一点。可以参考徐宜生的讲课风格,很稳
queue读Q,不是女王的queen的读音。听起来很别扭
建议不要来炫技,讲慢一点。
一倍速,看了完了整个教程,受益良多,学完打卡,谢谢老师!
老师告诉你能学到什么?
通过本课程,你将学到: 1、什么是Handler 2、如何使用Handler 3、Handler的原理是什么 4、如何定义一个与线程相关的Handler 5、Android更新UI的几种方式 6、非UI线程真的不能更新UI吗 7、Handler使用过程中遇到的问题

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消