PlatformViewGuard class

Guards platform-view creation during app startup / hot-restart.

On iOS, FlutterPlatformViewsController may retain residual view registrations from a previous Dart isolate immediately after a hot restart. If the new isolate's widgets request platform-view creation before the engine has fully purged these stale registrations, it rejects them with PlatformException(recreating_view, ...).

In debug mode (where hot restart can occur), the guard delays platform-view widgets by a short fixed duration (500 ms) after the first widget requests readiness, giving the engine ample time to run its internal cleanup. In release mode there is no prior Dart isolate to leave residual registrations, so the guard is ready immediately to avoid a visible fallback flash on cold start.

Usage inside component build methods:

if (!PlatformViewGuard.isReady) {
  PlatformViewGuard.ensureScheduled();
  return _fallbackWidget();
}
return UiKitView(...);

Properties

hashCode int
The hash code for this object.
no setterinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited

Methods

noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toString() String
A string representation of this object.
inherited

Operators

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

Static Properties

isReady bool
Whether it is safe to create platform views.
no setter
readyNotifier ValueNotifier<bool>
Notifier that fires once when readiness flips to true.
final

Static Methods

ensureScheduled() → void
Schedules the readiness flip if it hasn't been scheduled yet.