-
Notifications
You must be signed in to change notification settings - Fork 3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[image_picker_android] Improved Bitmap resize on Android #3423
[image_picker_android] Improved Bitmap resize on Android #3423
Conversation
Re-requesting review from @tarrinneal and @stuartmorgan as you were both requested on the previous version of this PR. |
Have you run any benchmarks to see if/how much this is better than the old behaviour? |
.../image_picker_android/android/src/main/java/io/flutter/plugins/imagepicker/ImageResizer.java
Show resolved
Hide resolved
.../image_picker_android/android/src/main/java/io/flutter/plugins/imagepicker/ImageResizer.java
Outdated
Show resolved
Hide resolved
.../image_picker_android/android/src/main/java/io/flutter/plugins/imagepicker/ImageResizer.java
Outdated
Show resolved
Hide resolved
.../image_picker_android/android/src/main/java/io/flutter/plugins/imagepicker/ImageResizer.java
Outdated
Show resolved
Hide resolved
Sorry, guys. I clicked on "request review" button on @stuartmorgan requested changes, and accidentally removed @gmackall and @tarrinneal from review. It wasn't on purpose. |
@tarrinneal , I just ran manual tests. I didn't do any benchmark test to compare the performance. Before I tried to pick an This patch skips Bitmap decoding when resize or quality changes are not needed. Plus it can improve the resize process by subsampling image decoding depending on the maximum requested dimension. Do you have any tips on how to benchmark it? |
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.
Just a little nit for the changelog, tagging @stuartmorgan for second review.
.../image_picker_android/android/src/main/java/io/flutter/plugins/imagepicker/ImageResizer.java
Outdated
Show resolved
Hide resolved
.../image_picker_android/android/src/main/java/io/flutter/plugins/imagepicker/ImageResizer.java
Outdated
Show resolved
Hide resolved
.../image_picker_android/android/src/main/java/io/flutter/plugins/imagepicker/ImageResizer.java
Show resolved
Hide resolved
.../image_picker_android/android/src/main/java/io/flutter/plugins/imagepicker/ImageResizer.java
Outdated
Show resolved
Hide resolved
@beroso is this something you still plan on working on? |
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.
LGTM, thanks!
Thank you all for the support! By the way, the release job is running for about 4 hours. Is it normal? |
No, |
flutter/packages@6328cfb...6608b60 2023-05-15 stuartmorgan@google.com [ci] Remove unnecessary Linux libraries (flutter/packages#3975) 2023-05-15 stuartmorgan@google.com [ci] Enforce a minimum Kotlin version in examples (flutter/packages#3979) 2023-05-15 stuartmorgan@google.com [ci] Disable Windows repo tool tests (flutter/packages#3980) 2023-05-12 stuartmorgan@google.com [ci] Add LUCI repo tool tests (flutter/packages#3964) 2023-05-12 reidbaker@google.com [url_launcher] Set broadcast reciever visability as required by target api 34 (flutter/packages#3973) 2023-05-12 reidbaker@google.com Update build.gradle with a comment explaining version (flutter/packages#3972) 2023-05-12 engine-flutter-autoroll@skia.org Roll Flutter from 8c5a1ea to a76dbe4 (12 revisions) (flutter/packages#3958) 2023-05-12 stuartmorgan@google.com [image_picker] Fix Android lints (flutter/packages#3887) 2023-05-12 stuartmorgan@google.com [various] Update minimum Flutter version to 3.3 (flutter/packages#3967) 2023-05-12 stuartmorgan@google.com [tool] Target specific Android unit tests (flutter/packages#3955) 2023-05-12 34871572+gmackall@users.noreply.github.com [camerax] Add a dependency on kotlin-bom to align versions of kotlin-stdlib (flutter/packages#3960) 2023-05-12 stuartmorgan@google.com [local_auth] Improve iOS test DI (flutter/packages#3959) 2023-05-12 stuartmorgan@google.com [ci] Ensure scripts fail if a command fails (flutter/packages#3963) 2023-05-11 stuartmorgan@google.com [ci] Pin the Flutter version for `release` (flutter/packages#3965) 2023-05-11 tarrinneal@gmail.com [video_player] foundation - reduce seek accuracy to fix seek to end bug (flutter/packages#3784) 2023-05-11 stuartmorgan@google.com [image_picker] Fix use_build_context_synchronously violations (flutter/packages#3969) 2023-05-11 stuartmorgan@google.com [tool] Ensure that publish credential path is available (flutter/packages#3970) 2023-05-11 63286031+ahmednfwela@users.noreply.github.com [go_router] change `fix_data.yaml` uris to be absolute to fix lints (flutter/packages#3877) 2023-05-11 stuartmorgan@google.com [tool] Use new pub cache location for publish (flutter/packages#3962) 2023-05-10 engine-flutter-autoroll@skia.org Roll Flutter (stable) from f72efea to 84a1e90 (1920 revisions) (flutter/packages#3961) 2023-05-10 andrelvsousa@gmail.com [image_picker_android] Improved Bitmap resize on Android (flutter/packages#3423) 2023-05-10 43054281+camsim99@users.noreply.github.com [camerax] Add Kotlin duplicate classes known error to README.md (flutter/packages#3957) If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/flutter-packages-flutter-autoroll Please CC flutter-ecosystem@google.com,rmistry@google.com 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://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
flutter/packages@6328cfb...6608b60 2023-05-15 stuartmorgan@google.com [ci] Remove unnecessary Linux libraries (flutter/packages#3975) 2023-05-15 stuartmorgan@google.com [ci] Enforce a minimum Kotlin version in examples (flutter/packages#3979) 2023-05-15 stuartmorgan@google.com [ci] Disable Windows repo tool tests (flutter/packages#3980) 2023-05-12 stuartmorgan@google.com [ci] Add LUCI repo tool tests (flutter/packages#3964) 2023-05-12 reidbaker@google.com [url_launcher] Set broadcast reciever visability as required by target api 34 (flutter/packages#3973) 2023-05-12 reidbaker@google.com Update build.gradle with a comment explaining version (flutter/packages#3972) 2023-05-12 engine-flutter-autoroll@skia.org Roll Flutter from 8c5a1ea to a76dbe4 (12 revisions) (flutter/packages#3958) 2023-05-12 stuartmorgan@google.com [image_picker] Fix Android lints (flutter/packages#3887) 2023-05-12 stuartmorgan@google.com [various] Update minimum Flutter version to 3.3 (flutter/packages#3967) 2023-05-12 stuartmorgan@google.com [tool] Target specific Android unit tests (flutter/packages#3955) 2023-05-12 34871572+gmackall@users.noreply.github.com [camerax] Add a dependency on kotlin-bom to align versions of kotlin-stdlib (flutter/packages#3960) 2023-05-12 stuartmorgan@google.com [local_auth] Improve iOS test DI (flutter/packages#3959) 2023-05-12 stuartmorgan@google.com [ci] Ensure scripts fail if a command fails (flutter/packages#3963) 2023-05-11 stuartmorgan@google.com [ci] Pin the Flutter version for `release` (flutter/packages#3965) 2023-05-11 tarrinneal@gmail.com [video_player] foundation - reduce seek accuracy to fix seek to end bug (flutter/packages#3784) 2023-05-11 stuartmorgan@google.com [image_picker] Fix use_build_context_synchronously violations (flutter/packages#3969) 2023-05-11 stuartmorgan@google.com [tool] Ensure that publish credential path is available (flutter/packages#3970) 2023-05-11 63286031+ahmednfwela@users.noreply.github.com [go_router] change `fix_data.yaml` uris to be absolute to fix lints (flutter/packages#3877) 2023-05-11 stuartmorgan@google.com [tool] Use new pub cache location for publish (flutter/packages#3962) 2023-05-10 engine-flutter-autoroll@skia.org Roll Flutter (stable) from f72efea to 84a1e90 (1920 revisions) (flutter/packages#3961) 2023-05-10 andrelvsousa@gmail.com [image_picker_android] Improved Bitmap resize on Android (flutter/packages#3423) 2023-05-10 43054281+camsim99@users.noreply.github.com [camerax] Add Kotlin duplicate classes known error to README.md (flutter/packages#3957) If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/flutter-packages-flutter-autoroll Please CC flutter-ecosystem@google.com,rmistry@google.com 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://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
Improves Bitmap load and resize on Android. Original PR on flutter/plugins: flutter/plugins#6947 Issue: flutter/flutter#118383
Improves Bitmap load and resize on Android.
Original PR on flutter/plugins: flutter/plugins#6947
Issue: flutter/flutter#118383
Pre-launch Checklist