flutter_oktoast
flutter_oktoast copied to clipboard
Fix memory issue for leak_tracking detecting
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. :-)