在 Android 的 Handler 消息机制中,当 MessageQueue 为空时,Looper 具体在做什么?
考察说明
考察 Handler-Looper-MessageQueue 机制中阻塞与唤醒的底层原理
回答思路
- 能指出 Looper 通过循环调用 MessageQueue.next() 获取消息
- 能说明队列为空时 next() 会进入阻塞等待而非忙轮询
- 能提到阻塞依赖 Linux 的 epoll 机制以及 nativePollOnce
- 能说明当新消息入队时会通过唤醒机制结束阻塞
本题已收录答题指导
本题附完整参考答案与评分标准
登录后可查看结构化答题指导;也可以直接开一场模拟面试,AI 面试官用本题实时追问并给出评分。