假設我的應用程式中有兩個可組合項:
@Composable
fun CoreKeyboard(keyboardKeys: List<List<KeyboardKey>>, ...) {
// ...
}
和
@Composable
fun NumberKeyboard(...) {
val keyboardKeys = listOf(
listOf(KeyboardKey("1"), KeyboardKey("2"), KeyboardKey("3")),
listOf(KeyboardKey("4"), KeyboardKey("5"), KeyboardKey("6")),
listOf(KeyboardKey("7"), KeyboardKey("8"), KeyboardKey("9")),
listOf(KeyboardKey("0"))
)
CoreKeyboard(keyboardKeys = keyboardKeys, ...)
}
如果我沒記錯的話,這種方法的性能不是很好,因為在每次重組keyboardKeys中NumberKeyboard都會重新組裝。
做這個的最好方式是什么?
我考慮過使用by remember { mutableStateOf(...) },但keyboardKeys它是不可變的。它仍然是一個好方法嗎?
uj5u.com熱心網友回復:
如果你有一些計算起來很昂貴的東西,并且你只想在你的可組合上計算它一次,只需用remember
val keyboardKeys = remember {
listOf(
listOf(KeyboardKey("1"), KeyboardKey("2"), KeyboardKey("3")),
listOf(KeyboardKey("4"), KeyboardKey("5"), KeyboardKey("6")),
listOf(KeyboardKey("7"), KeyboardKey("8"), KeyboardKey("9")),
listOf(KeyboardKey("0"))
)
}
mutableStateOf如果您想改變值以便可以觀察到它,您只需要。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/481553.html
標籤:安卓 表现 android-jetpack-compose
上一篇:在Oracle資料庫中,SYS.COL_USAGE$是否會被重置?
下一篇:有沒有辦法可以為折線設定影片?
