Ahm*_*azy 7 android android-jetpack-compose
我更喜欢使用 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()))
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3523 次 |
| 最近记录: |