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

如何在Jetpack Compose中让CameraSelector构建类remember以避免重组问题?

在Compose中用remember缓存CameraSelector避免重组

直接用remember包裹CameraSelector的构建逻辑即可,这样Compose会在首次组合时创建实例,后续重组时复用该实例,避免不必要的对象重建:

val cameraSelector: CameraSelector = remember {
    CameraSelector.Builder()
        .requireLensFacing(CameraSelector.LENS_FACING_BACK)
        .build()
}

如果需要支持镜头切换(比如前后摄像头切换),可以给remember添加依赖键,当依赖值变化时才重新构建CameraSelector:

// 存储当前镜头朝向的状态
val lensFacing = remember { mutableStateOf(CameraSelector.LENS_FACING_BACK) }

// 当lensFacing.value变化时,才重新创建CameraSelector
val cameraSelector: CameraSelector = remember(lensFacing.value) {
    CameraSelector.Builder()
        .requireLensFacing(lensFacing.value)
        .build()
}

这样既保证了重组时的性能优化,又能在需要更新镜头朝向时正确重建CameraSelector实例。

内容的提问来源于stack exchange,提问作者Josue Muleshi

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 01:20:40