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

Android面试常客Handler详解

难度中级
时长 2小时 0分
学习人数
综合评分9.30
169人评价 查看评价
9.7 内容实用
9.3 简洁易懂
8.9 逻辑清晰

最新回答 / 小罗希冀
其实我们一般说的是在子线程中通过Handler或者AsycnTask机制实现发送消息通知主线程更新UI,跟新UI的操作都是在主线程中做的,哪怕是在子线程中的post方法也会想程序说明,post()方法内的代码是运行在主线程的。。。(ps:希望对你有帮助)

已采纳回答 / 胖鸟
what值,用来区别message的标记在handlermessage中可以使用switch(message.what)来区别

最新回答 / Raine
你的意思是从service获取到值,刷新activity的UI的意思吗?我觉得你可以试试使用Broadcast进行activity和service之间的数据交互,我觉得handler在这个应用场景并不适用

已采纳回答 / 烟雨谣
当应用启动,系统会创建一个主线程。这个主线程负责向UI组件分发事件(包括绘制事件),也是在这个主线程里,你的应用和Android的UI组件发生交互。所以main thread也叫UI thread也即UI线程。其他线程就是非UI线程。非UI线程可以通过Thread+Handler的方式实现在非UI线程发送消息通知UI线程更新界面。

已采纳回答 / Forest_Deer
stop键:如果是按老师的代码写的。将removeMessage(1)中的“1”改成“0”即可。原因:该参数为Message的标识,第一次发送的标识为1;而后因Message message=new Message();默认参数为0;以后的Message标识均为0,故remove“0”;send键:再次点击,会开启一个新的主线程和子线程通信循环。多个循环打印都在logCat上,自然就混乱随机了。

最赞回答 / 不要摸我尾巴喵
应该是命名问题吧 不要有下划线,字母开头,数字+字母的名字,字母不要大写
老师告诉你能学到什么?
通过本课程,你将学到: 1、什么是Handler 2、如何使用Handler 3、Handler的原理是什么 4、如何定义一个与线程相关的Handler 5、Android更新UI的几种方式 6、非UI线程真的不能更新UI吗 7、Handler使用过程中遇到的问题

微信扫码,参与3人拼团

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

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消