我更喜歡使用 Spacer 在視圖之間添加一些填充,有時您可以將此空間作為填充添加到視圖。所以我的問題是使用 Spacers 與使用舊的填充值相比是否有任何性能缺陷?
uj5u.com熱心網友回復:
表現會有所不同。在下面的測驗中,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()))
}
}
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/372091.html
