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

Android面试常客Handler详解

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

最新回答 / 喜得温词
这是因为你虽然是在子线程中创建的Handler,但是当Handler被创建出来的时候,子线程并没有创建出Looper,而Handler在创建的时候就会与Looper进行绑定(可以去查看源码),所以当你创建出Handler,而子线程没有Looper,所以Handler会与主线程的Looper进行绑定。(因为主线程的Looper在主线程创建出来的时候便也别创建出来)

最赞回答 / 洋洋洋1
private int i;class MyRunnable implements Runnable{public void run(){i++;i=i%3;imv.setImageResource(images[i]);handler1.postDelayed(myRunnable, 1000);}}这里面的 i 没有初始化啊,应该是int i = 0;

已采纳回答 / 小罗希冀
我自己个人认为Callback其实就是在Looper(消息泵)和Handler中间加上一层过滤网,一些对于Handler没有意义或者不重要的信息直接交给Callback处理。打个比方,Looper就是大臣,Callback就是太监,Handler就是皇帝,大臣(Looper)在上报消息的时候先要把消息给太监(Callback)看一看,太监(Callback)看完以后觉得事关重大,就将消息上报给皇帝(Handler),如果太监(Callback)觉得这是根本就不重要,它就会自行处理或者拒绝接受这个信息。所以...

最新回答 / jemWu
是我自己给自己挖的坑,把自己给搞混了才提了这个问题

已采纳回答 / ziom
你是说你手动滑动到第二张,然后过一会会从第一张开始自动轮播是吗?

已采纳回答 / _InnoVation
为了实现循环播放OnCerate方法中的handler.postDelayed(runnable,1000);实现了程序1s后调用runnable线程。在runnable线程中切换图片后又重新调用了handler.postDelayed(runnable,1000);方法。runnable线程每切换一次图片后继续调用它本身,这种循环调用实现了runnable每隔1s被就会执行一次,表面上看就是图片每隔1s切换一次。答得比较浅,欢迎拍砖~~

最新回答 / NullMoneyException
看错误提示啊 我英语不好的都看懂啦 Handler.post(java.lang.Runnable)' on a null object reference  Handler是空的 你得初始化他  这年头得想办法自己学会看错误提示 哈哈哈

最赞回答 / _InnoVation
老师的意思不是这个子线程是默认的,而是当前创建的Handler默认绑定的线程为这个子线程

最新回答 / 喜得温词
子线程处理一些耗时操作,比如网络请求、I/O操作是因为创建的Handler对象是在子线程中,这个时候调用handleMessage()方法进行一些网络请求的耗时操作就能防止主线程阻塞,但是很多时候子线程需要跟主线程之间进行操作,比如UI的更新是不能在子线程里面进行操作的,所以就需要用主线程的handleMessage()方法在主线程中进行UI更新操作。

最新回答 / NullMoneyException
它的可以 你的照写不会有问题 哈哈 源码和错误提示都没有 俺们怎么帮你 如果是最后一张报错 应该是 index=index%3 哪个没写把 就到4索引了 可图片只有三张 吧 我猜的 哈哈

最赞回答 / 浮沉
Thread是一个线程,HandlerThread也是一个线程,他们的区别就是在getLooper()的时候,Thread不会对Looper是否创建成功进行判断,可能会出现空指针的问题。但是HandlerThread内部是会进行判断的,如果还没有创建,就会进行等待,直到创建成功,这样可以避免空指针情况。所以HandlerThread本质上就是在Thread上封装了一层,是谷歌方便我们进行使用的东西,本质上还是Thread。

已采纳回答 / lsjava
当前View的AttachInfo信息,这个信息是用来在窗口处理中用的。Android的窗口系统就是用过AttachInfo来判断View的所属窗口的,这个了解下就行。详细信息设计到Android框架层的一些东西。<...code...>
老师告诉你能学到什么?
通过本课程,你将学到: 1、什么是Handler 2、如何使用Handler 3、Handler的原理是什么 4、如何定义一个与线程相关的Handler 5、Android更新UI的几种方式 6、非UI线程真的不能更新UI吗 7、Handler使用过程中遇到的问题

微信扫码,参与3人拼团

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

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消