Skip to content
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

[camera] Fix memory leaks in example and activate leak testing #8287

Conversation

ValentinVignal
Copy link
Contributor

Pre-launch Checklist

If you need help, consider asking for advice on the #hackers-new channel on Discord.

@ValentinVignal
Copy link
Contributor Author

cc @polina-c

@ValentinVignal
Copy link
Contributor Author

Since I modified only the example and tests, I think this PR is eligible for the tags override: no versioning needed and override: no changelog needed

@@ -27,6 +27,7 @@ dev_dependencies:
sdk: flutter
integration_test:
sdk: flutter
leak_tracker_flutter_testing: any
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why use any rather than ^3.0.9?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is what is recommended in the documentation (https://github.com/dart-lang/leak_tracker/blob/main/doc%2Fleak_tracking%2FDETECT.md) because the version is defined by the Flutter SDK.


import 'package:leak_tracker_flutter_testing/leak_tracker_flutter_testing.dart';

Future<void> testExecutable(FutureOr<void> Function() testMain) async {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not sure how this is ran. Does this run automatically with flutter test? Could you add a comment that explains how this is used or provide a doc link?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes this is run automatically with flutter test. Here is the documentation https://api.flutter.dev/flutter/flutter_test/flutter_test-library.html

I don't mind adding a comment or something if you feel it is needed. Could you tell me what kind of comment you are expecting?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah, ok. Sorry I was unfamiliar with this in flutter_test. As long as there is public documentation for this then it doesn't need a comment.

@bparrishMines bparrishMines added override: no versioning needed Override the check requiring version bumps for most changes override: no changelog needed Override the check requiring CHANGELOG updates for most changes labels Dec 23, 2024
Copy link
Contributor

@bparrishMines bparrishMines left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@bparrishMines bparrishMines added override: no versioning needed Override the check requiring version bumps for most changes and removed override: no versioning needed Override the check requiring version bumps for most changes override: no changelog needed Override the check requiring CHANGELOG updates for most changes labels Dec 26, 2024
Copy link
Contributor

@bparrishMines bparrishMines left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actually it looks like the CHANGELOG is updated with example changes: https://github.com/flutter/packages/blob/main/packages/camera/camera/CHANGELOG.md#01053

This update can just be added to the NEXT list.

@ValentinVignal
Copy link
Contributor Author

@bparrishMines I updated the changlog in doc: Update changelog

Copy link
Contributor

@bparrishMines bparrishMines left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

The analyze failure is coming from flutter/flutter#160799, so you should just need to pull from main to fix it.

@ValentinVignal ValentinVignal force-pushed the camera/fix-memory-leak-and-activate-leak-testing branch from 52333c3 to b58402a Compare December 28, 2024 04:38
@ValentinVignal ValentinVignal added the autosubmit Merge PR when tree becomes green via auto submit App label Dec 28, 2024
@auto-submit auto-submit bot merged commit c515499 into flutter:main Dec 28, 2024
77 checks passed
github-merge-queue bot pushed a commit to flutter/flutter that referenced this pull request Jan 6, 2025
flutter/packages@eb73582...07ae98c

2025-01-06 49699333+dependabot[bot]@users.noreply.github.com
[dependabot]: Bump org.json:json from 20240303 to 20241224 in
/packages/in_app_purchase/in_app_purchase/example/android/app
(flutter/packages#8371)
2025-01-05 32538273+ValentinVignal@users.noreply.github.com
[google_maps_flutter] Activate leak testing (flutter/packages#8368)
2025-01-05 32538273+ValentinVignal@users.noreply.github.com
[flutter_markdown] Fix some memory leaks and activate leak testing
[prod-leak-fix] (flutter/packages#8367)
2025-01-03 36674458+WenHaozhan@users.noreply.github.com [image_picker]
Removes use of PHAsset on IOS 14+ (flutter/packages#8190)
2025-01-03 matanlurey@users.noreply.github.com Delete unused templates
`skeleton` and `app_shared` and release as `5.0.0`.
(flutter/packages#8360)
2025-01-02 stuartmorgan@google.com [tool] Ensure that
leak_tracker_flutter_testing is dev-only (flutter/packages#8365)
2025-01-02 stuartmorgan@google.com [pigeon] Discuss stability in README
(flutter/packages#8366)
2025-01-02 tarrinneal@gmail.com [shared_preferences] Add information
about shared preferences android to docs (flutter/packages#8296)
2024-12-30 mchudy@users.noreply.github.com [camera] Remove OCMock from
permission tests (flutter/packages#8350)
2024-12-29 kevmoo@users.noreply.github.com Drop vector bits from
allowed_unpinned_deps.yaml (flutter/packages#8327)
2024-12-28 32538273+ValentinVignal@users.noreply.github.com [camera] Fix
memory leaks in example and activate leak testing
(flutter/packages#8287)
2024-12-27 10687576+bparrishMines@users.noreply.github.com [pigeon] Adds
platform for imports that aren't support on a platform
(flutter/packages#8338)
2024-12-26 jessiewong401@gmail.com Bump Plugin Example Apps to
TargetSdkVersion >= 34 (flutter/packages#8285)
2024-12-26 matanlurey@users.noreply.github.com Re-create
`templates/app`, add deprecation notices for `app_shared` and
`skeleton`. (flutter/packages#8336)
2024-12-26 jessiewong401@gmail.com Update Gradle Command Test to Only
Accept Gradle Declarative Apply (flutter/packages#8325)
2024-12-24 49699333+dependabot[bot]@users.noreply.github.com
[dependabot]: Bump com.google.guava:guava from 33.3.1-android to
33.4.0-android in /packages/camera/camera_android_camerax/android
(flutter/packages#8331)
2024-12-24 49699333+dependabot[bot]@users.noreply.github.com
[dependabot]: Bump camerax_version from 1.3.4 to 1.4.1 in
/packages/camera/camera_android_camerax/android (flutter/packages#8330)
2024-12-24 49699333+dependabot[bot]@users.noreply.github.com [gradle]:
Bump com.google.truth:truth, com.google.code.gson:gson,
com.squareup.okhttp3:okhttp in /packages/espresso/android
(flutter/packages#8089)
2024-12-24 49699333+dependabot[bot]@users.noreply.github.com
[image_picker]: Bump androidx.activity:activity from 1.9.2 to 1.9.3 in
/packages/image_picker/image_picker_android/android
(flutter/packages#7897)
2024-12-23 ditman@gmail.com [ci] Cumulative fixes to reopen the tree.
(flutter/packages#8344)
2024-12-18 magder@google.com Group dependabot updates for some gradle
dependencies (flutter/packages#8100)
2024-12-18 jessiewong401@gmail.com Applied Gradle Plugins Declaratively
All Remaining Example Apps (flutter/packages#8312)
2024-12-18 49699333+dependabot[bot]@users.noreply.github.com
[lifecycle]: Bump androidx.annotation:annotation from 1.7.0 to 1.9.1 in
/packages/flutter_plugin_android_lifecycle/android
(flutter/packages#7974)
2024-12-18 stuartmorgan@google.com [ci] Re-enable macOS sandboxing
(flutter/packages#8293)
2024-12-18 49699333+dependabot[bot]@users.noreply.github.com [espresso]:
Bump com.android.tools.build:gradle from 7.4.1 to 8.7.2 in
/packages/espresso/android (flutter/packages#8013)
2024-12-18 reidbaker@google.com [shared_preferences] Increase minimum
android endorsed version (flutter/packages#8318)
2024-12-17 stuartmorgan@google.com Revert "[shared_preferences] Add
shared preferences devtools" (flutter/packages#8314)
2024-12-16 adson@soraschools.com [shared_preferences] Add shared
preferences devtools (flutter/packages#6749)
2024-12-16 ditman@gmail.com [google_adsense] Add optional init
parameters. (flutter/packages#8297)

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 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
auto-submit bot pushed a commit that referenced this pull request Jan 10, 2025
*Replace this paragraph with a description of what this PR is changing or adding, and why. Consider including before/after screenshots.*

Follow up of #8287

Activates leak testing for the packages including a `test` folder

See the documentation: https://github.com/dart-lang/leak_tracker/blob/main/doc%2Fleak_tracking%2FDETECT.md
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
autosubmit Merge PR when tree becomes green via auto submit App override: no versioning needed Override the check requiring version bumps for most changes p: camera
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants