在 RecyclerView 的 ViewHolder 中,如果在 bind 阶段注册了数据观察者(如 LiveData/Observer),应该在什么时机取消监听?请说明原因和正确做法。
考察说明
考察数据监听生命周期管理与 RecyclerView 复用机制下的内存泄漏风险识别
回答思路
- 明确在 onViewRecycled 中取消监听,或在 ViewHolder 被回收时解绑
- 解释 bind 阶段重复注册导致的重复回调或内存泄漏问题
- 说明使用 Lifecycle 或协程 Flow 的替代方案
- 强调未取消监听在列表复用场景下的风险
本题已收录答题指导
本题附完整参考答案与评分标准
登录后可查看结构化答题指导;也可以直接开一场模拟面试,AI 面试官用本题实时追问并给出评分。