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

Android面试常客Handler详解

难度中级
时长 2小时 0分
学习人数
综合评分9.30
169人评价 查看评价
9.7 内容实用
9.3 简洁易懂
8.9 逻辑清晰
  • 总纲显示
    查看全部
  • Callback 可以拦截收到的消息
    查看全部
  • target 其实就是handler自己,所以用massage.sendToTarget 和用handler.sendMessage效果相同
    查看全部
  • new Thread 中massage
    查看全部
  • handler的基本使用post()
    查看全部
  • 为什么要用handler? 一定要使用吗?
    查看全部
    0 采集 收起 来源:Handler是什么

    2017-06-19

  • 什么是handler?有什么作用?
    查看全部
    0 采集 收起 来源:Handler是什么

    2017-06-19

  • 解决多线程并发的问题 对于我们的开发提供的方便 handle 的原理是什么 lopper theard hadle handle 封装消息的发送 looper 封装消息的载体
    查看全部
  • handle 是android给我们提供的一套用来更新ui的机制 也是一套消息处理的机制 可以发送消息亦可以通过他处理消息
    查看全部
    0 采集 收起 来源:Handler是什么

    2017-06-14

  • handler是什么? 1、更新UI 2、消息处理(发送消息、处理消息)
    查看全部
    0 采集 收起 来源:Handler是什么

    2017-06-14

  • Handler是什么? Handler是Android提供的一套用来更新UI的机制,也是一套消息处理机制,可以通过它发送消息,也可以通过它处理消息。 所有Activity生命周期回调的方法,都是通过handler机制去发送消息的,然后根据不同的消息(message)做相应的分支处理。例如发送一个消息给 Framework,告知需要调用onCreate()或onDestory()方法。实际上在 Framework 当中,Activity的交互大部分都是用AMS(Activity Manager Service)做处理的。整个应用程序的核心的一个类就是 Activity Thread,Activity Thread就是通过handler机制接收到 Activity Manager Service发送的有关Activity生命周期的管理的消息(比如启动)。 为什么要使用Handler? Android在设计的时候,就封装了一套消息的创建、传递、处理机制,如果不遵循这样的机制,就没有办法更新UI信息,并且会抛出异常信息。这样的机制便包含Handler机制。 我们需要把这些耗时的操作,放在一个子线程中,因为子线程涉及到UI更新,Android主线程是线程不安全的,也就是说,更新UI只能在主线程中更新,子线程中操作是危险的。这个时候,Handler就出现了。来解决这个复杂的问题 ,由于Handler运行在主线程中(UI线程中),它与子线程可以通过Message对象来传递数据, 这个时候,Handler就承担着接受子线程传过来的(子线程用sedMessage()方法传递)Message对象(里面包含数据),把这些消息放入主线程队列中,配合主线程进行更新UI。 Handler主要接受子线程发送的数据,并用此数据配合主线程更新UI。 当应用程序启动时,Android首先会开启一个主线程 (也就是UI线程) ,主线程为管理界面中的UI控件,进行事件分发,比如说, 你要是点击一个 Button ,Android会分发事件到Button上,来响应你的操作。如果此时需要一个耗时的操作,例如: 联网读取数据,或者读取本地较大的一个文件的时候,你不能把这些操作放在主线程中,如果你放在主线程中的话,界面会出现假死现象,如果5秒钟还没有完成的话,会收到Android系统的一个错误提示 "强制关闭"。
    查看全部
    0 采集 收起 来源:Handler是什么

    2018-03-22

  • ActivityThread-->main() -->Looper.prepareMainLooper() -->prepare(false)-->new Looper(false)-->new Looper{MessageQueue(false))
    查看全部
  • ActivityThread就是程序主线程,也就是ui线程
    查看全部
  • When posting or sending to a Handler, you can either allow the item to be processed as soon as the message queue is ready to do so, or specify a delay before it gets processed or absolute time for it to be processed. The latter two allow you to implement timeouts, ticks, and other timing-based behavior. When a process is created for your application, its main thread is dedicated to running a message queue that takes care of managing the top-level application objects (activities, broadcast receivers, etc) and any windows they create. You can create your own threads, and communicate back with the main application thread through a Handler. This is done by calling the same post or sendMessage methods as before, but from your new thread. The given Runnable or Message will then be scheduled in the Handler's message queue and processed when appropriate.
    查看全部
    0 采集 收起 来源:Handler是什么

    2017-06-11

  • There are two main uses for a Handler: (1) to schedule messages and runnables to be executed as some point in the future; and (2) to enqueue an action to be performed on a different thread than your own.
    查看全部
    0 采集 收起 来源:Handler是什么

    2017-06-11

举报

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

微信扫码,参与3人拼团

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

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