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

Android面试常客Handler详解

难度中级
时长 2小时 0分
学习人数
综合评分9.30
169人评价 查看评价
9.7 内容实用
9.3 简洁易懂
8.9 逻辑清晰
在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的读音。听起来很别扭
建议不要来炫技,讲慢一点。
一倍速,看了完了整个教程,受益良多,学完打卡,谢谢老师!
条理清晰!,多看几次即可!老师厉害!
代码风格混乱是不争的事实,感谢大家的奉献也绝对没错
非ui线程真的不能更新ui吗?答:某种情况下可以。
在oncreate方法中开启子线程更新ui,在thread没有休眠的情况下,因为ViewRootImp在activity的onresume方法中创建,在ViewRootImp方法中判断当前线程是否为主线程,oncreate在onresume之前执行,所以这种情况下,可以进行更新ui操作。
免费的课程你还不知足/? 你们去看收费的啊
代码好凌乱,听得好糊涂
讲得很好了。怎么消化吸收甚至举一反三还是得靠自己的思考。
Looper.Looper指的是Looper.loop()?
老师告诉你能学到什么?
通过本课程,你将学到: 1、什么是Handler 2、如何使用Handler 3、Handler的原理是什么 4、如何定义一个与线程相关的Handler 5、Android更新UI的几种方式 6、非UI线程真的不能更新UI吗 7、Handler使用过程中遇到的问题

微信扫码,参与3人拼团

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

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消