You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Jetpack Compose搭配Paging3加载4-5页时报measure()不可重复调用错误

你遇到的这个异常是Jetpack Compose早期版本以及paging-compose alpha版本的已知bug,和分页滚动过程中列表项反复触发测量的逻辑异常有关,可按以下步骤排查修复:

1. 升级依赖版本

你当前使用的paging_compose_version = "1.0.0-alpha12"是非常早期的测试版本,存在大量未修复的兼容性bug,和Compose 1.0.1搭配时会触发测量逻辑异常。建议做如下升级:

  • 将Compose版本升级到1.1.0及以上稳定版
  • 将paging-compose版本升级到1.0.0及以上稳定版
    对应依赖修改示例:
compose_version = '1.1.1'
paging_compose_version = "1.0.0"

2. 修正LazyColumn的分页项写法

你当前手动遍历下标取item并强制非空的写法存在风险:分页预加载过程中对应下标的item可能还未加载完成,取值为null时强制非空会触发逻辑异常,进而干扰Compose的测量流程。请使用官方提供的LazyPagingItems专属扩展方法:

LazyColumn(modifier = Modifier.fillMaxSize()) {
    items(lazyPhotoItems, key = { it.id }) { photo ->
        photo?.let { ImageItem(it) }
    }
}

3. 检查ImageItem的实现逻辑

排查ImageItem可组合函数是否存在以下问题:

  • 未给图片设置固定宽高/宽高比,图片加载完成后尺寸突变触发反复测量
  • 测量阶段修改状态值,触发无限循环重组
  • 使用的图片加载库(Coil/Glide等)的Compose版本和当前Compose版本不兼容

4. 临时规避方案

如果暂时无法升级版本,可给ImageItem添加固定aspectRatio强制尺寸稳定,避免图片加载后尺寸变化触发反复测量:

ImageItem(
    photo = it,
    modifier = Modifier.aspectRatio(1.5f) // 替换为你实际的图片宽高比
)

内容的提问来源于stack exchange,提问作者Peter Staranchuk

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 20:36:04