Android Handler面试总结
在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面试总结相关推荐
- Android工程师面试该怎么准备?终局之战
(一)简介 Handler机制是一套Android消息传递机制.在Android开发多线程的应用场景中,将工作线程中需更新UI的操作信息 传递到 UI主线程,从而实现 工作线程对UI的更新处理,最终实 ...
- epoll监听文件_介绍一下 Android Handler 中的 epoll 机制?
介绍一下 Android Handler 中的 epoll 机制? 目录: IO 多路复用 select.poll.epoll 对比 epoll API epoll 使用示例 Handler 中的 e ...
- android handler内存,Android handler之内存泄露原因揭示
关于handler机制大家可以看前面专题Android面试精选--再聊android Handler机制.今天我们要说的重点是 handler为什么会发生内存泄露? 我们先从源头说起,应用刚启动时,第 ...
- [Android]Handler的消息机制
最经面试中,技术面试中有一个是Handler的消息机制,细细想想,我经常用到的Handler无非是在主线程(或者说Activity)新建一个Handler对象,另外一个Thread是异步加载数据,同时 ...
- android系统面试问答_Android面试问答
android系统面试问答 Android is the most popular operating system for mobile phone. Android apps are very p ...
- Android 高级面试-2:IPC 相关
内容 IPC 就是指跨进程通信.IPC 相关的内容,涉及的主要有: 常见的 IPC 通信方式: Binder 相关: 两种序列化方式及其对比: 问题 IPC Android 上的 IPC 跨进程通信时 ...
- 2021年中高级Android大厂面试秘籍,为你保驾护航金三银四,直通大厂
一眨眼已经到2021年了,该反思一下,2020年都做了什么?有什么进步?年初的计划都实现了吗?金三银四有跳槽的底气了吗? 2020年我们经历了新冠疫情的洗礼,很多程序员都经历了失业,找工作的恐慌.导致 ...
- Android开发面试简历(1),音视频开发需要哪些知识
年龄:XX 学历:本科 工作经验:8年开发经验 居住地:XXXX 2.求职意向 求职意向:Android软件开发工程师 目前状态:离职 3.工作经验 2012/10– 2014/05 xx网络科技有限 ...
- 【建议收藏】2020年中高级Android大厂面试秘籍,为你保驾护航金三银四,直通大厂(Android高级篇下)...
前言 成为一名优秀的Android开发,需要一份完备的知识体系,在这里,让我们一起成长为自己所想的那样~. A awesome android expert interview questions a ...
最新文章
- JSP Tomcat8.0运行连接池时发生异常【AbstractMethodError oracle.jdbc.driver.T4CConnection.isValid(I)Z】...
- 云原生产业联盟成立 蚂蚁金服当选为理事单位
- MySQL中购买的语句,mysql操作语句 - 买灰机自己开的个人空间 - OSCHINA - 中文开源技术交流社区...
- linux的安装组和管理组的区别吗,Linux用户和组管理
- Docker容器中的WildFly Swarm JAX-RS微服务
- 作为程序员,你怎么看待16岁女生产子?
- 16999元!华为Mate X 5G折叠屏手机正式发布:不愧是限量款
- 序号47指标横向展示.xlsx_电力监控系统安全防护规定Akey310参数指标
- Python使用BoundedSemaphore对象进行线程同步
- php运行时输出,在PHP中运行具有实时输出的过程
- RocketMQ核心概念(翻译)
- 如何使用WebSocket
- 手机软件Toast无法显示提示信息
- python可以下载百度文库的文档_Python 文档
- python模拟登陆qq空间
- 安装DL380gen10
- IAM之Tivoli Identity Manager(二)
- TF卡/SD卡 异常问题,识别不了
- 关于 Facebook的 SWE_NG_GCR-SEAsia
- mysqlcount效率,总结到位