-
Notifications
You must be signed in to change notification settings - Fork 6k
Disable cleaning up ImageReaders in memory pressure callback #51391
Disable cleaning up ImageReaders in memory pressure callback #51391
Conversation
We originally added this cleanup code to work around a Samsung-specific Android 14 bug where after resuming an application any ImageReaders are busted. According to the Android team what Samsung is doing is a violation of the "spec". The fix ended up breaking VirtualDisplay platform views after a suspend/resume because the surface we pass to the VirtualDisplay is no longer valid after the resume and we have no way of fixing that. This PR removes the Samsung-specific hacky fix, restoring the behaviour of VirtualDisplay backed platform views. We have an internal bug with Samsung to address the root cause.
Fixes flutter/flutter#144219 |
@Override | ||
public void onTrimMemory(int level) { | ||
if (!CLEANUP_ON_MEMORY_PRESSURE) { | ||
return; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do we expect to re-enable this code path again soon? Is there another reason we want to keep it around instead of fully reverting the changes from the original PR?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Probably not going to re-enable this code path but want the option to do that in the future :)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fair enough!
…145120) flutter/engine@d29383c...cb9dead 2024-03-13 [email protected] Disable cleaning up ImageReaders in memory pressure callback (flutter/engine#51391) If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Please CC [email protected],[email protected],[email protected] on the revert to ensure that a human is aware of the problem. To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
Reason for revert: b/330184547 - I believe there is a good chance that the investigation on that issue was not really adequate to justify this revert, but this change can be easily relanded if reverting this was the wrong choice. |
Time to revert pull request flutter/engine/51391 has elapsed. |
…145990) flutter/engine@68aa9ba...b16c0f1 2024-03-29 [email protected] Roll Skia from 94c0af1297ae to a12e40efacea (3 revisions) (flutter/engine#51776) 2024-03-29 [email protected] Roll Skia from b2a01ae03cdf to 94c0af1297ae (1 revision) (flutter/engine#51773) 2024-03-29 [email protected] Roll Skia from 6042ad386bcf to b2a01ae03cdf (4 revisions) (flutter/engine#51772) 2024-03-29 [email protected] Roll Fuchsia Linux SDK from uzI3wnbEGlZ_dtO0Z... to 3vgfbp1vjXkdMZ09m... (flutter/engine#51767) 2024-03-29 [email protected] [skwasm] Fix `toString` methods on Paint and ImageFilter/ColorFilter (flutter/engine#51766) 2024-03-29 [email protected] Reland flutter/engine#51391 (flutter/engine#51764) 2024-03-29 [email protected] Add completion callback to `Shell::AddView` (flutter/engine#51659) 2024-03-29 [email protected] [Windows] Move keyboard initialization (flutter/engine#51758) 2024-03-29 [email protected] [Windows] Don't always stop engine on view destruction (flutter/engine#51681) 2024-03-28 [email protected] [macOS] Group per-view information in `FlutterCompositor` into a class (flutter/engine#51738) Also rolling transitive DEPS: fuchsia/sdk/core/linux-amd64 from uzI3wnbEGlZ_ to 3vgfbp1vjXkd If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Please CC [email protected],[email protected],[email protected] on the revert to ensure that a human is aware of the problem. To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
We originally added this cleanup code to work around a Samsung-specific Android 14 bug where after resuming an application any ImageReaders are busted. According to the Android team what Samsung is doing is a violation of the "spec".
The fix ended up breaking VirtualDisplay platform views after a suspend/resume because the surface we pass to the VirtualDisplay is no longer valid after the resume and we have no way of fixing that.
This PR removes the Samsung-specific hacky fix, restoring the behaviour of VirtualDisplay backed platform views.
We have an internal bug with Samsung to address the root cause.