在 Android 中,一个线程内可以创建几个 Handler 和 Looper?它们之间的关系是什么?
考察说明
考察 Handler、Looper 与 MessageQueue 的线程绑定关系及正确的初始化方式
回答思路
- 说明一个线程默认只有一个 Looper,通过 Looper.prepare() 创建并绑定 ThreadLocal
- 说明同一线程可创建多个 Handler,它们共享同一 Looper 和 MessageQueue
- 说明 Looper.loop() 启动消息循环,子线程需主动调用 prepare 和 loop
- 指出未调用 Looper.prepare() 时创建 Handler 会抛异常
本题已收录答题指导
本题附完整参考答案与评分标准
登录后可查看结构化答题指导;也可以直接开一场模拟面试,AI 面试官用本题实时追问并给出评分。