Android高级开发面试题及详细答案.docxVIP

  • 1
  • 0
  • 约1.88万字
  • 约 17页
  • 2026-05-19 发布于河北
  • 举报

Android高级开发面试题及详细答案

一、基础进阶(必问,考察底层理解)

1.请详细说明Android的Handler机制,包括Looper、MessageQueue、Message的关系,以及为什么不能在子线程直接创建Handler?

答案:

Handler机制核心是解决Android主线程不能做耗时操作、子线程不能更新UI的问题,本质是“消息循环机制”,三者关系和核心逻辑如下:

1.三者关系:Looper是“消息循环器”,负责循环从MessageQueue中取消息、分发消息;MessageQueue是“消息队列”,采用单链表结构存储Message,按时间顺序排列;Message是“消息载体”,存储需要传递的数据和处理逻辑(如what、obj、callback);Handler负责“发送消息”和“处理消息”,发送的消息最终会加入MessageQueue,由Looper分发回Handler的handleMessage方法。

2.核心流程:①主线程启动时(ActivityThread的main方法),会自动创建Looper(Looper.prepareMainLooper()),并启动循环(Looper.loop()),同时创建MessageQueue,Looper和MessageQueue一一对应,一个线程只能有一个Looper(ThreadLocal存储,保证线程唯一

文档评论(0)

1亿VIP精品文档

相关文档