我更喜欢使用 Spacer 在视图之间添加一些填充,有时您可以将此空间添加为视图的填充。所以我的问题是,使用 Spacers 与使用旧的填充值相比是否存在性能缺陷?
性能会有所不同。在下面的测试中,50 个项目使用填充进行渲染,随后 50 个项目使用间隔进行渲染。垫片的渲染速度大约是原来的两倍。但是,如果您颠倒顺序并首先渲染 50 个带有间隔的项目,然后渲染 50 个带有填充的项目,则填充速度会更快,大约是使用间隔的持续时间的 0.2 倍。显然,项目的数量和它们呈现的顺序将显着影响性能。我怀疑如果你更喜欢猫而不是狗,谷歌的某个人会给你更好的表现:-)
class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
startActivity(intent)
setContent {
val modifierPadding = Modifier.padding(bottom = 10.dp)
val modifierSpacer = Modifier
.requiredHeight(1.dp)
.fillMaxWidth()
Column(modifier = Modifier
.fillMaxSize()
.verticalScroll(rememberScrollState())) {
val startTimePadding = System.nanoTime()
repeat(50) {
Text("I like dogs", modifier = modifierPadding)
}
val durationPadding = System.nanoTime() - startTimePadding
val startTimeSpacer = System.nanoTime()
repeat(50) {
Text("I like cats")
Spacer(modifier = modifierSpacer)
}
val durationSpacer = System.nanoTime() - startTimeSpacer
Text("padding to spacer ratio: " + (durationPadding.toFloat() / durationSpacer.toFloat()))
}
}
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)