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

Android面试常客Handler详解

难度中级
时长 2小时 0分
学习人数
综合评分9.30
169人评价 查看评价
9.7 内容实用
9.3 简洁易懂
8.9 逻辑清晰
老师讲的还可以。。。不过还是有点迷糊
看来“三个美女,风格迥异”后,我觉得这个网站有必要加上弹幕功能
工作4个月后回来看看终于懂了

最赞回答 / littlecharles
源码内部会进行判断该线程是不是主线程,但是调用判断的这个类是在onResume()这个回调函数创建

已采纳回答 / JowanXu
参数1和0是要在handler中判断数值,然后进行相关操作的<...图片...>如果只有一个操作的话,就直接发送空消息。

最新回答 / qq_JasonLee_0
可以这样理解吧。 handler是消息的处理者,looper是message Queue的管理者。Message Queue存放Message,通过looper进行FIFO(先进先出)的顺序轮询。

最新回答 / ximutou123
不建议。。因为要另开一个线程。已经有viewpager和HorienzolScroll了、
老师源码何在

已采纳回答 / qq_JasonLee_0
其实主线程都死掉了留着handler也没用了,引用handler本来就是用来更新主线程的UI的。handler没有生命周期的。
你们那么牛逼还用得着看人家的视频???
所以说,这节没有太大的意义,除了告诉大家,在ViewRootImpl没有实例化的时候是不会check是否是主线程,也就是说,在非UI线程中是可以更新UI的,但是为了线程安全的原因,系统会强制要求只能在主线程中更新UI(猜测)。之所以说没有太大的意义是因为实际开发中是不会有这种情况的,谷歌官方也是说了只能在UI线程更新UI,这顶多算是一个BUG吧,看不懂的朋友们知道就行了,不用深究~
感觉说的有点麻烦,其实就是两个handler互相调用发送message。
这节一句话就可以结束了,主线程与子线程之间的信息传递方式是啥?调用对方的sendMessage就行了~
讲得不错,推荐看完书,有一定了解再看听就好多了
http://blog.csdn.net/lmj623565791/article/details/38377229 更详细的源码分析
因为判断是否在主线程更新UI的程序要ViewParent 不为空的情况下,但是第一个程序ViewParent还没有实例化,所以没有调用哪个checkThread的方法来判断是否在主线程,所以可以更新
其实还有一种方式,就是异步方法更新UI
老师告诉你能学到什么?
通过本课程,你将学到: 1、什么是Handler 2、如何使用Handler 3、Handler的原理是什么 4、如何定义一个与线程相关的Handler 5、Android更新UI的几种方式 6、非UI线程真的不能更新UI吗 7、Handler使用过程中遇到的问题

微信扫码,参与3人拼团

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

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消