先把结论放在前面:LazyColumn的核心是"按需组合 +key复用 +contentType分池"。三者解决的是三个不同问题:按需组合解决"10000 条数据不该一次全画"、key解决"数据变化后状态与动画错位"、contentType解决"不同类型条目不该共用同一套布局槽位"。 答这题要落到数字上——比如"首屏组合了 8~10 条而不是 10000 条",才是有说服力的答案。这题的备考捷径是把别人的错答过一遍:知道别人怎么错的,答题时就会主动绕开、还会顺手把正确前提讲清楚。最典型的错答是"LazyColumn性能好因为它只渲染可见项"——这句话对但不完整,它没说清"组合"与"绘制"的区别、也没说清 key 缺失的真实后果。三个参数各自的职责items( count = 10000, // 数据总量(不预先构造列表,省内存) key = { index - items[index].id }, // 跨重组识别同一项 contentType = { index - items[index].type }, // 复用池分组 itemContent = { index - Row(...) } // 只在可见范围内执行 )"只对可见项执行itemContent