在Android面试中,有关Handler的面试是一个离不开的话题,下面我们就有关Handler的面试进行一个总结。

1,Handler、Looper、MessageQueue、线程的关系

  • 一个线程只会有一个Looper对象,所以线程和Looper是一一对应的。
  • MessageQueue对象是在new Looper的时候创建的,所以Looper和MessageQueue是一一对应的。
  • Handler的作用只是将消息加到MessageQueue中,并后续取出消息后,根据消息的target字段分发给当初的那个handler,所以Handler对于Looper是可以多对一的,也就是多个Hanlder对象都可以用同一个线程、同一个Looper、同一个MessageQueue。

综上,Looper、MessageQueue、线程是一一对应关系,而他们与Handler是可以一对多的。

2,主线程为什么不用初始化Looper

因为应用在启动的过程中就已经初始化了一个主线程Looper。每个java应用程序都是有一个main方法入口,Android是基于Java的程序也不例外,Android程序的入口在ActivityThread的main方法中,代码如下:

// 初始化主线程LooperLooper.prepareMainLooper();...// 新建一个ActivityThread对象ActivityThread thread = new ActivityThread();thread.attach(false, startSeq);// 获取ActivityThread的Handler,也是他的内部类H

Android Handler面试总结相关推荐

  1. Android工程师面试该怎么准备?终局之战

    (一)简介 Handler机制是一套Android消息传递机制.在Android开发多线程的应用场景中,将工作线程中需更新UI的操作信息 传递到 UI主线程,从而实现 工作线程对UI的更新处理,最终实 ...

  2. epoll监听文件_介绍一下 Android Handler 中的 epoll 机制?

    介绍一下 Android Handler 中的 epoll 机制? 目录: IO 多路复用 select.poll.epoll 对比 epoll API epoll 使用示例 Handler 中的 e ...

  3. android handler内存,Android handler之内存泄露原因揭示

    关于handler机制大家可以看前面专题Android面试精选--再聊android Handler机制.今天我们要说的重点是 handler为什么会发生内存泄露? 我们先从源头说起,应用刚启动时,第 ...

  4. [Android]Handler的消息机制

    最经面试中,技术面试中有一个是Handler的消息机制,细细想想,我经常用到的Handler无非是在主线程(或者说Activity)新建一个Handler对象,另外一个Thread是异步加载数据,同时 ...

  5. android系统面试问答_Android面试问答

    android系统面试问答 Android is the most popular operating system for mobile phone. Android apps are very p ...

  6. Android 高级面试-2:IPC 相关

    内容 IPC 就是指跨进程通信.IPC 相关的内容,涉及的主要有: 常见的 IPC 通信方式: Binder 相关: 两种序列化方式及其对比: 问题 IPC Android 上的 IPC 跨进程通信时 ...

  7. 2021年中高级Android大厂面试秘籍,为你保驾护航金三银四,直通大厂

    一眨眼已经到2021年了,该反思一下,2020年都做了什么?有什么进步?年初的计划都实现了吗?金三银四有跳槽的底气了吗? 2020年我们经历了新冠疫情的洗礼,很多程序员都经历了失业,找工作的恐慌.导致 ...

  8. Android开发面试简历(1),音视频开发需要哪些知识

    年龄:XX 学历:本科 工作经验:8年开发经验 居住地:XXXX 2.求职意向 求职意向:Android软件开发工程师 目前状态:离职 3.工作经验 2012/10– 2014/05 xx网络科技有限 ...

  9. 【建议收藏】2020年中高级Android大厂面试秘籍,为你保驾护航金三银四,直通大厂(Android高级篇下)...

    前言 成为一名优秀的Android开发,需要一份完备的知识体系,在这里,让我们一起成长为自己所想的那样~. A awesome android expert interview questions a ...

最新文章

  1. JSP Tomcat8.0运行连接池时发生异常【AbstractMethodError oracle.jdbc.driver.T4CConnection.isValid(I)Z】...
  2. 云原生产业联盟成立 蚂蚁金服当选为理事单位
  3. MySQL中购买的语句,mysql操作语句 - 买灰机自己开的个人空间 - OSCHINA - 中文开源技术交流社区...
  4. linux的安装组和管理组的区别吗,Linux用户和组管理
  5. Docker容器中的WildFly Swarm JAX-RS微服务
  6. 作为程序员,你怎么看待16岁女生产子?
  7. 16999元!华为Mate X 5G折叠屏手机正式发布:不愧是限量款
  8. 序号47指标横向展示.xlsx_电力监控系统安全防护规定Akey310参数指标
  9. Python使用BoundedSemaphore对象进行线程同步
  10. php运行时输出,在PHP中运行具有实时输出的过程
  11. RocketMQ核心概念(翻译)
  12. 如何使用WebSocket
  13. 手机软件Toast无法显示提示信息
  14. python可以下载百度文库的文档_Python 文档
  15. python模拟登陆qq空间
  16. 安装DL380gen10
  17. IAM之Tivoli Identity Manager(二)
  18. TF卡/SD卡 异常问题,识别不了
  19. 关于 Facebook的 SWE_NG_GCR-SEAsia
  20. mysqlcount效率,总结到位

热门文章

  1. 何时使用kubernetes的deployments、pods和services?
  2. Dubbo常用配置解析
  3. 高新企业认定八大领域之资源与环境的技术细分!
  4. Arduino篇-红外遥控器控制小车
  5. 语音调节 变调不变速
  6. 基于B/S架构的大学寝室管理系统
  7. 【不求人】手机端内应用或网页根据apk/ipa内的scheme/包名唤起别的应用
  8. Virtualbox源码分析10 CPU manager2:APIs
  9. Java 中for循环中break、continue的区别
  10. 怎么用WordPress创建自己的第一个博客 怎么设置blog主题