Skip to content

Conversation

@YanhqZ
Copy link

@YanhqZ YanhqZ commented Jun 30, 2025

Hi, there are some memory issues detected by leak_tracking when using the package.

onLeaks: {totals: {notDisposed: 4, notGCed: 0, gcedLate: 7}, time: 1751245242208}
flutter: leak_tracker: 11 memory leak(s): not disposed: 4, not GCed: 0, GCed late: 7
flutter: leak:OverlayEntry:
flutter: leak:  identityHashCode: 8114866
flutter: leak:  context:
flutter: leak:    start: >
flutter:   leak:    #6______startLeakTracking.<anonymous_closure>_(package:example_for_oktoast/main.dart:36:43)
flutter:   leak:    #7______FlutterMemoryAllocations.dispatchObjectEvent_(package:flutter/src/foundation/memory_allocations.dart:249:23)
flutter:   leak:    #8______FlutterMemoryAllocations.dispatchObjectCreated_(package:flutter/src/foundation/memory_allocations.dart:283:5)
flutter:   leak:    #9______ChangeNotifier.maybeDispatchObjectCreation_(package:flutter/src/foundation/change_notifier.dart:238:41)
flutter:   leak:    #10_____ChangeNotifier.addListener_(package:flutter/src/foundation/change_notifier.dart:278:7)
flutter:   leak:    #11_____new_ToastFuture.__(package:oktoast/src/core/toast_future.dart:11:12)
flutter:   leak:    #12_____showToastWidget_(package:oktoast/src/core/toast.dart:175:42)
flutter:   leak:    #13______MyHomePageState._showToast_(package:example_for_oktoast/main.dart:129:37)
flutter:   leak:    #14______InkResponseState.handleTap_(package:flutter/src/material/ink_well.dart:1176:21)
flutter:   leak:    #15_____GestureRecognizer.invokeCallback_(package:flutter/src/gestures/recognizer.dart:351:24)
flutter:   leak:    #16_____TapGestureRecognizer.handleTapUp_(package:flutter/src/gestures/tap.dart:656:11)
flutter:   leak:    #17_____BaseTapGestureRecognizer._checkUp_(package:flutter/src/gestures/tap.dart:313:5)
flutter:   leak:    #18_____BaseTapGestureRecognizer.handlePrimaryPointer_(package:flutter/src/gestures/tap.dart:246:7)
flutter:   leak:    #19_____PrimaryPointerGestureRecognizer.handleEvent_(package:flutter/src/gestures/recognizer.dart:703:9)
flutter:   leak:    #20_____PointerRouter._dispatch_(package:flutter/src/gestures/pointer_router.dart:98:12)
flutter:   leak:    #21_____PointerRouter._dispatchEventToRoutes.<anonymous_closure>_(package:flutter/src/gestures/pointer_router.dart:143:9)
flutter:   leak:    #22______LinkedHashMapMixin.forEach_(dart:_compact_hash:726:13)
flutter:   leak:    #23_____PointerRouter._dispatchEventToRoutes_(package:flutter/src/gestures/pointer_router.dart:141:18)
flutter:   leak:    #24_____PointerRouter.route_(package:flutter/src/gestures/pointer_router.dart:127:7)
flutter:   leak:    #25_____GestureBinding.handleEvent_(package:flutter/src/gestures/binding.dart:502:19)
flutter:   leak:    #26_____GestureBinding.dispatchEvent_(package:flutter/src/gestures/binding.dart:482:22)
flutter:   leak:    #27_____RendererBinding.dispatchEvent_(package:flutter/src/rendering/binding.dart:457:11)
flutter:   leak:    #28_____GestureBinding._handlePointerEventImmediately_(package:flutter/src/gestures/binding.dart:427:7)
flutter:   leak:    #29_____GestureBinding.handlePointerEvent_(package:flutter/src/gestures/binding.dart:390:5)
flutter:   leak:    #30_____GestureBinding._flushPointerEventQueue_(package:flutter/src/gestures/binding.dart:337:7)
flutter:   leak:    #31_____GestureBinding._handlePointerDataPacket_(package:flutter/src/gestures/binding.dart:306:9)
flutter:   leak:    #32______invoke1_(dart:ui/hooks.dart:328:13)
flutter:   leak:    #33_____PlatformDispatcher._dispatchPointerDataPacket_(dart:ui/platform_dispatcher.dart:450:7)
flutter:   leak:    #34______dispatchPointerDataPacket_(dart:ui/hooks.dart:262:31)
flutter:   leak:
flutter:

the example code is at the branch leak_example.

call _OverlayEntryWidget.entry.dispose() can fix this problem. :-)

@YanhqZ
Copy link
Author

YanhqZ commented Aug 5, 2025

Hey, maybe you can upgrade the jdk enviroment. my commit shouldn't cause this problem. Cause the flutter 3.32 using compileSdk 35 requires Android Gradle Plugin (AGP) 8.1.0 or higher.

@AlexV525
Copy link
Member

@YanhqZ Sorry for the late review. Could you revert changes regarding the example so that we can make those changes later in separate commits and focus on the scope of the PR? We won't require your PR to resolve all CI issues before merging. :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants