Fixed
Status Update
Comments
ma...@google.com <ma...@google.com>
ka...@mercari.com <ka...@mercari.com> #2
We are Facing this same issue after updating to compose 1.3.0 and also only on Android 9 Devices.
an...@google.com <an...@google.com> #3
Note: Some of the latest comments from b/212982463 could be relevant to this issue
ka...@mercari.com <ka...@mercari.com> #4
Hi, Is there any update on this. Any temp workaround would be helpful as well. Currently we have 10s of thousand users per day getting affected by this.
ap...@google.com <ap...@google.com> #5
Project: platform/frameworks/support
Branch: androidx-main
commit e3164fbf4137f9cf60da424aef4b1d9ea5202b6c
Author: Andrey Kulikov <andreykulikov@google.com>
Date: Thu Dec 15 18:00:23 2022
Make our fake Views we use as graphic layer to save nothing as the View's saved instance state.
Because the Views were attached to the hierarchy and had an id their state was saved polluting the state Activity saves in Bundle. Such views have no real state as they are not used as real views.
Test: ComposeViewSavedStateSizeTest
Bug: 260322832
Change-Id: I0b755a3d6a164b6c26aa592e13e206dc45cd5dd9
A compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/platform/ComposeViewSavedStateSizeTest.kt
M compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/platform/ViewLayer.android.kt
https://android-review.googlesource.com/2359699
Branch: androidx-main
commit e3164fbf4137f9cf60da424aef4b1d9ea5202b6c
Author: Andrey Kulikov <andreykulikov@google.com>
Date: Thu Dec 15 18:00:23 2022
Make our fake Views we use as graphic layer to save nothing as the View's saved instance state.
Because the Views were attached to the hierarchy and had an id their state was saved polluting the state Activity saves in Bundle. Such views have no real state as they are not used as real views.
Test: ComposeViewSavedStateSizeTest
Bug: 260322832
Change-Id: I0b755a3d6a164b6c26aa592e13e206dc45cd5dd9
A compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/platform/ComposeViewSavedStateSizeTest.kt
M compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/platform/ViewLayer.android.kt
ap...@google.com <ap...@google.com> #6
Project: platform/frameworks/support
Branch: androidx-main
commit 326b394002e0f899fdc0bffc622761bc67bca21b
Author: Andrey Kulikov <andreykulikov@google.com>
Date: Thu Dec 15 16:16:31 2022
Destroy layers added on the nodes when the node is removed
Currently the layer objects are not being removed from the AndroidComposeView in this situation, which means we are not reusing the layers and we keep them attached until the whole AndroidComposeView is not garbage collected.
Test: new test in MeasureAndLayoutDelegateTest
Bug: 260322832
Change-Id: Iaeee5662b4646230cebdafd2484c691df657edda
M compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/layout/Helpers.kt
M compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/layout/MeasureAndLayoutDelegateTest.kt
M compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/node/NodeCoordinator.kt
M compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/node/NodeKind.kt
https://android-review.googlesource.com/2359119
Branch: androidx-main
commit 326b394002e0f899fdc0bffc622761bc67bca21b
Author: Andrey Kulikov <andreykulikov@google.com>
Date: Thu Dec 15 16:16:31 2022
Destroy layers added on the nodes when the node is removed
Currently the layer objects are not being removed from the AndroidComposeView in this situation, which means we are not reusing the layers and we keep them attached until the whole AndroidComposeView is not garbage collected.
Test: new test in MeasureAndLayoutDelegateTest
Bug: 260322832
Change-Id: Iaeee5662b4646230cebdafd2484c691df657edda
M compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/layout/Helpers.kt
M compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/layout/MeasureAndLayoutDelegateTest.kt
M compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/node/NodeCoordinator.kt
M compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/node/NodeKind.kt
an...@google.com <an...@google.com>
ka...@mercari.com <ka...@mercari.com> #7
Great. Thank you very much for fixing this. Really appreciate the quick response. Could you share which version this fix will be released?
st...@google.com <st...@google.com> #8
Hi there! Most likely next release of Compose UI, by mid January. Cheers.
na...@google.com <na...@google.com> #9
The following release(s) address this bug.It is possible this bug has only been partially addressed:
androidx.compose.ui:ui:1.3.3
androidx.compose.ui:ui:1.4.0-alpha04
al...@mercari.com <al...@mercari.com> #10
Issue is still existing with the same rate in 1.3.3 and similar reproduction steps. Since this ticket is already set as fixed, should we file a new bug?
an...@google.com <an...@google.com> #11
Hey. Please check that you can reproduce the same issue with the latest 1.4 release and if yes please file a new bug. Thanks
Description
Jetpack Compose version: 1.3.0 & 1.4.0-alpha02
Android Studio Build: IntelliJ IDEA 2022.2.3
Kotlin version: 1.7.10
Steps to Reproduce or Code Sample to Reproduce:
We're seeing an issue where a Lazy layout with a BoxWithConstraints in the
item
will add new items to the saved bundle every time the user scrolls. The entries appear to be AbsSavedState.EMPTY_STATE, but there are so many of them that the bundle fills up quickly and can cause a "TransactionTooLargeException".I've attached a sample project demonstrating the issue. The issue only appears on Android 9, and the sample project does not exhibit the issue in either Android 8.1 or Android 10. Nor does the issue happen when swapping BoxWithConstraints with Box. Also it appears to have been introduced some point after Compose 1.2.0, as the sample also doesn't experience the issue on Android 9 when using Compose 1.2.0.