Fixed
Status Update
Comments
ap...@google.com <ap...@google.com> #2
A couple of questions:
1. Have you saw crash in real device or only in simulators?
2. Do you use dynamic feature for language ID?
1. Have you saw crash in real device or only in simulators?
2. Do you use dynamic feature for language ID?
ap...@google.com <ap...@google.com> #3
Tested on Android 12 Emulator with custom executor, but cannot repro this issue.
Description
LazyColumnFor(items) {
Text("$it", Modifier.background(Color.Red))
}
We scroll such list few pixels(no new items composed as a result)
Draw performance is: 124397 ns
Now we add a layer
LazyColumnFor(items) {
Text("$it", Modifier.drawLayer().background(Color.Red))
}
Draw performance is: 63371 ns (50% less)
Use case 2
LazyColumnFor(items) {
var color by remember { mutableStateOf(Color.Red) }
Text("$it", Modifier.clickable(indication = null) {
color = Color.Green
}.drawBehind {
drawRect(color)
})
}
Invalidating only one item:
Without layers on each item: 1137259 ns
With layers: 113771 ns (90% less).
We should have a way for a layouts to insert layers for children