Android compose ModalBottomSheetLayout 导致巨大的重组计数

问题描述 投票:0回答:1

我现在已经使用 compose 工作了几个星期,我认为有些事情仍然相当具有挑战性或很奇怪。

我的最新功能需要一个 BottomSheet,准确地说是一个

ModalBottomSheet

通过布局检查器进行检查时,它向我显示,ModalBottomSheet

sheetcontent
(即
surface
)会产生巨大的重组计数。 (我说的是每秒数百次):

我什至尝试清空整个

ModalBottomSheet
,所以它只是一个像这样的空壳:

val sheetState = rememberModalBottomSheetState(
    initialValue = ModalBottomSheetValue.Hidden,
    confirmStateChange = { it != ModalBottomSheetValue.HalfExpanded },
    skipHalfExpanded = true,
)

ModalBottomSheetLayout(
    sheetState = sheetState,
    sheetShape = CustomTheme.shapes.bottomSheetRadius,
    sheetContent = {
        Column(modifier = Modifier.padding(bottom = 10.sdp)) { 

        }
    }
) {

}

有人有同样经历吗?我找不到任何人抱怨这一点..但我认为这不行。

提前谢谢大家。

问候帕迪索

android android-jetpack-compose bottom-sheet compose-recomposition
1个回答
0
投票

重组计数来自模态底部表单的动画。您可以在任何动画 api 中看到这些精确的重组计数。

这并不是真正的问题,除非你直接将整个 UI 组件放入 sheetContent 中。您必须创建一个仅包含“稳定”参数的单独可组合项,以避免出现任何实际问题。希望这有帮助。

© www.soinside.com 2019 - 2024. All rights reserved.