用途:修复 Compose 惰性布局(LazyColumn、LazyRow、LazyVerticalGrid、LazyHorizontalGrid)的滚动卡顿、掉帧、条目滚动位置/焦点/组合状态丢失,以及 Modifier.animateItem() 动画不生效的问题。
主要能力:为每个 items(...) 提供稳定 key(服务端稳定 ID,禁用列表索引、每次求值的 UUID.randomUUID()、可变对象的 hashCode());为异构列表(卡片+标题+广告+轮播)提供 contentType 类型判别符以复用组合缓存;校验条目 composable 的可跳过性;将 painterResource、颜色、形状、BorderStroke 等分配开销提升到 items lambda 之外;配合稳定 key 使用 Modifier.animateItem() 实现插入、删除、重排动画。
使用方式:先审计所有 items/itemsIndexed 调用并补 key 与 contentType;用稳定性诊断工具确认条目参数稳定;把重分配值提升到 LazyColumn 父级或调用点;再加 animateItem();最后用 @TraceRecomposition 与 Layout Inspector 验证。网格的 span 用法与列表一致。
适用场景:混合类型信息流、插入删除重排后状态丢失、animateItem() 无动画、编译器报告条目不稳定/不可跳过、@TraceRecomposition 显示每次滚动都重组。
限制:需要 Compose Foundation 1.7+ 与 Kotlin 2.0.0+(应用 compose 插件);应在真机 release 构建测量,debug 构建结果不可靠。预取窗口调优、条目参数不稳定、条目内动画读取 state.value、滚动位置派生等属于其他技能范畴。资料未提供收费、价格与平台信息。