MemoryShield class

Singleton manager that tracks all active secure containers and can mass-wipe.

Tracks SecureString, SecureBytes, and SecureValue instances and provides lifecycle-aware auto-dispose when the app backgrounds.

MemoryShield().init(MemoryShieldConfig(
  autoDisposeOnBackground: true,
));
MemoryShield().bindToLifecycle();

// On logout:
MemoryShield().disposeAll();
Mixed-in types

Constructors

MemoryShield()
Returns the singleton MemoryShield instance.
factory

Properties

activeCount int
The number of currently active (undisposed) secure containers.
no setter
config MemoryShieldConfig
The current configuration.
no setter
hashCode int
The hash code for this object.
no setterinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited

Methods

bindToLifecycle() → void
Registers a WidgetsBinding observer for auto-dispose on background.
didChangeAccessibilityFeatures() → void
Called when the system changes the set of currently active accessibility features.
inherited
didChangeAppLifecycleState(AppLifecycleState state) → void
Called when the system puts the app in the background or returns the app to the foreground.
override
didChangeLocales(List<Locale>? locales) → void
Called when the system tells the app that the user's locale has changed. For example, if the user changes the system language settings.
inherited
didChangeMetrics() → void
Called when the application's dimensions change. For example, when a phone is rotated.
inherited
didChangePlatformBrightness() → void
Called when the platform brightness changes.
inherited
didChangeTextScaleFactor() → void
Called when the platform's text scale factor changes.
inherited
didChangeViewFocus(ViewFocusEvent event) → void
Called whenever the PlatformDispatcher receives a notification that the focus state on a view has changed.
inherited
didHaveMemoryPressure() → void
Called when the system is running low on memory.
inherited
didPopRoute() Future<bool>
Called when the system tells the app to pop the current route, such as after a system back button press or back gesture.
inherited
didPushRoute(String route) Future<bool>
Called when the host tells the application to push a new route onto the navigator.
inherited
didPushRouteInformation(RouteInformation routeInformation) Future<bool>
Called when the host tells the application to push a new RouteInformation and a restoration state onto the router.
inherited
didRequestAppExit() Future<AppExitResponse>
Called when a request is received from the system to exit the application.
inherited
disposeAll() → void
Disposes ALL active secure containers.
handleCancelBackGesture() → void
Called when a predictive back gesture is canceled, indicating that no navigation should occur.
inherited
handleCommitBackGesture() → void
Called when a predictive back gesture is finished successfully, indicating that the current route should be popped.
inherited
handleStartBackGesture(PredictiveBackEvent backEvent) bool
Called at the start of a predictive back gesture.
inherited
handleStatusBarTap() → void
Called when the user taps the status bar on iOS, to scroll a scroll view to the top.
inherited
handleUpdateBackGestureProgress(PredictiveBackEvent backEvent) → void
Called when a predictive back gesture moves.
inherited
init(MemoryShieldConfig config) → void
Initializes the MemoryShield with the given config.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
register(SecureDisposable secureContainer) → void
Registers a secure container for tracking.
reset() → void
Resets the MemoryShield to its default state.
toString() String
A string representation of this object.
inherited
unbindFromLifecycle() → void
Unregisters the WidgetsBinding observer.
unregister(SecureDisposable secureContainer) → void
Unregisters a secure container from tracking.

Operators

operator ==(Object other) bool
The equality operator.
inherited

Static Properties

channel MethodChannel
The method channel for native memory operations.
final