pref: `VerticalGrid` 性能
This commit is contained in:
parent
fa7edbc326
commit
dff92beadc
|
|
@ -8,6 +8,7 @@ import androidx.compose.foundation.layout.Spacer
|
||||||
import androidx.compose.foundation.layout.fillMaxWidth
|
import androidx.compose.foundation.layout.fillMaxWidth
|
||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
import androidx.compose.runtime.Stable
|
import androidx.compose.runtime.Stable
|
||||||
|
import androidx.compose.runtime.remember
|
||||||
import androidx.compose.ui.Alignment
|
import androidx.compose.ui.Alignment
|
||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
|
|
||||||
|
|
@ -113,9 +114,9 @@ fun VerticalGrid(
|
||||||
horizontalArrangement: Arrangement.Horizontal = Arrangement.Start,
|
horizontalArrangement: Arrangement.Horizontal = Arrangement.Start,
|
||||||
content: GridScope.() -> Unit
|
content: GridScope.() -> Unit
|
||||||
) {
|
) {
|
||||||
val gridScope = GridScopeImpl().apply(content)
|
val gridScope = remember(content) { GridScopeImpl().apply(content) }
|
||||||
Column(modifier = modifier, verticalArrangement = verticalArrangement) {
|
Column(modifier = modifier, verticalArrangement = verticalArrangement) {
|
||||||
val rows = calcRows(column, gridScope.items)
|
val rows = remember(column, gridScope) { calcRows(column, gridScope.items) }
|
||||||
rows.forEach {
|
rows.forEach {
|
||||||
Row(
|
Row(
|
||||||
verticalAlignment = Alignment.CenterVertically,
|
verticalAlignment = Alignment.CenterVertically,
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue