Android高级工程师面试题及答案.docxVIP

  • 31
  • 0
  • 约1.19万字
  • 约 11页
  • 2026-03-20 发布于河北
  • 举报

Android高级工程师面试题及答案

一、基础进阶(考察核心原理掌握,避免死记硬背)

1.说说Android的Handler机制,结合你实际项目中遇到的Handler相关问题,怎么解决的?

答案:Handler机制核心是解决Android主线程不能做耗时操作的问题,本质是“消息循环”——由Handler、Looper、MessageQueue、Message四个核心组件组成。

简单说:Looper负责开启循环,不断从MessageQueue中取消息;MessageQueue是消息队列,按顺序存储Message;Handler负责发送消息(sendMessage)和处理消息(handleMessage),通过与Looper绑定,实现线程间通信(比如子线程耗时请求后,通过Handler切换到主线程更新UI)。

实际项目遇到的问题:做列表分页加载时,子线程请求数据后,Handler发送消息更新UI,偶尔出现“消息丢失”,导致列表不刷新。排查后发现,是子线程请求完成后,Handler所在的Activity已经销毁,此时Handler还在发送消息,导致消息无法被处理,甚至引发内存泄漏。

解决方法:1.在Activity的onDestroy中,调用handler.removeCallbacksAndMessages(null),清除所有未处理的消息和回调;2.使用弱引用(WeakRef

文档评论(0)

1亿VIP精品文档

相关文档