Status Update
Comments
ap...@google.com <ap...@google.com> #2
We are Facing this same issue after updating to compose 1.3.0 and also only on Android 9 Devices.
ib...@google.com <ib...@google.com> #3
ib...@google.com <ib...@google.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.
ib...@google.com <ib...@google.com> #5
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
ib...@google.com <ib...@google.com> #6
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
ib...@google.com <ib...@google.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?
ch...@google.com <ch...@google.com> #8
Hi there! Most likely next release of Compose UI, by mid January. Cheers.
ib...@google.com <ib...@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
ib...@google.com <ib...@google.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?
ap...@google.com <ap...@google.com> #11
ib...@google.com <ib...@google.com>
mw...@gmail.com <mw...@gmail.com> #12
Are you sure it's an issue with the APP1 segment being too large with the FUSED location? I was thinking perhaps there's some issue with the length calculation that's happening as we were able to fix these images by just detecting the start of the jpeg image data and re-writing the length field based on that detection.
ib...@google.com <ib...@google.com> #13
Are you sure it's an issue with the APP1 segment being too large with the FUSED location? I was thinking perhaps there's some issue with the length calculation that's happening as we were able to fix these images by just detecting the start of the jpeg image data and re-writing the length field based on that detection.
This fix is consistent with the current failure mode of ExifInterface
when the APP1
segment gets 'too large' (before my change linked above in 0x10030
bytes to write to the APP1 segment, and ExifInterface
does two things:
- When writing the length of the APP1 segment it truncates this to
0x0030
- It writes all those
0x10030
bytes out, and then it writes the rest of the image.
A JPEG parser (I assume) comes along and reads the length of the APP1
segment (0x30
) and skips that many bytes, then expects to find JPEG data - but it's actually in the middle of the Exif and so it fails.
If you manually find the start of the JPEG data then you obviate both of the problems - and the image is 'fixed'.
na...@google.com <na...@google.com> #14
The following release(s) address this bug.It is possible this bug has only been partially addressed:
androidx.exifinterface:exifinterface:1.3.7
na...@google.com <na...@google.com> #15
The following release(s) address this bug.It is possible this bug has only been partially addressed:
androidx.exifinterface:exifinterface:1.4.0-alpha01
Description
Component used: Version used: Devices/Android versions reproduced on: Samsung A32 (sm-a325f) Android 12 (also A12/A13 mentioned in b/263289024 )
When reporting bugs, please always include:
Where possible, please also provide: