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

Android面试常客Handler详解

难度中级
时长 2小时 0分
学习人数
综合评分9.30
169人评价 查看评价
9.7 内容实用
9.3 简洁易懂
8.9 逻辑清晰
  • A Handler allows you to send and process Message and Runnable objects associated with a thread's MessageQueue. Each Handler instance is associated with a single thread and that thread's message queue. When you create a new Handler, it is bound to the thread / message queue of the thread that is creating it -- from that point on, it will deliver messages and runnables to that message queue and execute them as they come out of the message queue.
    查看全部
    0 采集 收起 来源:Handler是什么

    2017-06-11

  • Handler是Android给我们提供用来更新UI的一套机制,也是一套消息处理的机制,我们可以发送消息,也可以通过它处理消息。
    查看全部
    0 采集 收起 来源:Handler是什么

    2017-06-11

  • test
    查看全部
    0 采集 收起 来源:课程内容介绍

    2017-06-08

  • handler是Android提供的一套用来更新UI的机制,也是一套消息处理的机制,我们可以发送消息,也可以通过他来处理消息
    查看全部
    0 采集 收起 来源:Handler是什么

    2017-06-07

  • handle原理的总结
    查看全部
  • handle的原理是什么?
    查看全部
  • android为什么要设计只能通过Handler机制更新UI?
    查看全部
  • message.sendToTarget()为什么能和handle.sendMessage(message)作用一样? 答案在源码里
    查看全部
  • run()里的postDelayed方法里面的runnable对象是main上面MyRunnable类线程的对象,main里面的handler.postDelayed调用之后不断的在线程中调用自身,从而实现轮播。
    查看全部
  • 需要语言学习
    查看全部
    0 采集 收起 来源:课程内容介绍

    2017-04-23

  • hhh
    查看全部
  • 主要是在HandlerThread里面创建一个Looper,和默认的 handler 进行关联。 所有的handlerMessage()都是在子线程中调用。 我们可以使用 HandlerThread 模拟异步任务的操作,只需要在主线程中给子线程发送消息,让子线程做耗时操作。 总之,HandlerThread可以处理耗时操作,例如下载网络图片、更新数据库等等,可以在完全不占用主线程的情况下处理比较耗时的操作。从设计的角度来看,是比较方便快捷的。 因为如果自己想要实现异步任务机制,就需要考虑一些问题,例如要开启线程、往异步任务中添加任务,任务本身还要考虑存储结构、什么时候添加任务、什么时候移除任务,以及任务如何传递、派发等等。比较麻烦。 而Android提供了HandlerThread方法,它是系统已经将任务的发送、处理等都封装好了,使用起来比较方便,我们只需调用 HandlerThread。
    查看全部
  • handler原理
    查看全部
  • 自定义Thread MyThread extend Thead 调用 Looper.prepare 与子线程相关的handler handler和子线程关联 thread.sendMessage 如果在主线程中创建一个handler,并重写handlemessage方法,那么一定不要在这里执行耗时操作,这样有可能会将主线程卡死 创建一个与线程相关的Handler: 1. 在线程中通过Looper.prepare()方法创建一个与线程相关的Looper对象; 2. 在线程中通过Handler的new关键字,创建一个Handler对象,这个对象在创建的时候会关联上1中创建的Looper对象 3. 调用Looper对象的loop()方法去轮询它的MessageQueue 4. 通过其他的线程拿到这个线程的Handler对象之后调用sendMessage()之后,在这个线程中就可以进行Message的处理了。<br> <br> 我们一般是在主线程中创建Handler对象,在主线程中处理Message,在子线程中调用这个Handler对象的sendMessage()来发送message。所以Handler是在哪个线程创建就有哪个线程处理Message和轮询,而由别的线程负责给这个Handler发送Message。 * 每个线程都对应一个looper,在线程里面创建的handler默认都会与这个looper对应 * 一个线程可以有多个handler与唯一的一个looper对应,有且只有一个looper * 这里主要是让我们熟悉在oncreat创建的handler与子线程创建handler * oncreate创建的handler他默认里面会有一个looper与之对应 * 所以我们自己在子线程中创建handler对象的时候我们应该要自主创建一个looper
    查看全部
  • handler loop
    查看全部

举报

0/150
提交
取消
老师告诉你能学到什么?
通过本课程,你将学到: 1、什么是Handler 2、如何使用Handler 3、Handler的原理是什么 4、如何定义一个与线程相关的Handler 5、Android更新UI的几种方式 6、非UI线程真的不能更新UI吗 7、Handler使用过程中遇到的问题

微信扫码,参与3人拼团

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

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