Scheduler for running the following:

  • Frame callbacks, triggered by the system's ui.window.onBeginFrame callback, for synchronizing the application's behavior to the system's display. For example, the rendering layer uses this to drive its rendering pipeline.

  • Non-rendering tasks, to be run between frames. These are given a priority and are executed in priority order according to a schedulingStrategy.

Inheritance

Static Properties

instance SchedulerBinding

The current SchedulerBinding, if one has been created.

read-only

Static Methods

debugPrintTransientCallbackRegistrationStack() → void

Prints the stack for where the current transient callback was registered.

Constructors

SchedulerBinding()

Properties

currentFrameTimeStamp Duration

The time stamp for the frame currently being processed.

read-only
hasScheduledFrame bool

Whether this scheduler has requested that handleBeginFrame be called soon.

read-only
schedulerPhase SchedulerPhase

The phase that the scheduler is currently operating under.

read-only
schedulingStrategy SchedulingStrategy

The strategy to use when deciding whether to run a task or not.

read / write
transientCallbackCount int

The current number of transient frame callbacks scheduled.

read-only
hashCode int

Get a hash code for this object.

read-only, inherited
runtimeType Type

A representation of the runtime type of the object.

read-only, inherited

Operators

operator ==(other) bool

The equality operator.

inherited

Methods

addFrameCallback(FrameCallback callback, { bool rescheduling: false }) int

Adds a transient frame callback.

addPersistentFrameCallback(FrameCallback callback) → void

Adds a persistent frame callback.

addPostFrameCallback(FrameCallback callback) → void

Schedule a callback for the end of this frame.

cancelFrameCallbackWithId(int id) → void

Cancels the transient frame callback with the given id.

debugAssertNoTransientCallbacks(String reason) bool

Asserts that there are no registered transient callbacks; if there are, prints their locations and throws an exception.

ensureVisualUpdate() → void

Schedules a new frame using scheduleFrame if this object is not currently producing a frame.

handleBeginFrame(Duration rawTimeStamp) → void

Called by the engine to produce a new frame.

handleEventLoopCallback() → void

Called by the system when there is time to run tasks.

initInstances() → void

The initialization method. Subclasses override this method to hook into the platform and otherwise configure their services. Subclasses must call "super.initInstances()".

initServiceExtensions() → void

Called when the binding is initialized, to register service extensions.

resetEpoch() → void

Prepares the scheduler for a non-monotonic change to how time stamps are calcuated.

scheduleFrame() → void

If necessary, schedules a new frame by calling ui.window.scheduleFrame.

scheduleFrameCallback(FrameCallback callback, { bool rescheduling: false }) int

Schedules the given transient frame callback.

scheduleTask(VoidCallback task, Priority priority) → void

Schedules the given task with the given priority.

noSuchMethod(Invocation invocation) → dynamic

Invoked when a non-existent method or property is accessed.

inherited
reassembleApplication() → void

Called when the ext.flutter.reassemble signal is sent by development tools.

inherited
registerBoolServiceExtension({String name, ValueGetter<bool> getter, ValueSetter<bool> setter }) → void

Registers a service extension method with the given name (full name "ext.flutter.name"), which takes a single argument "enabled" which can have the value "true" or the value "false" or can be omitted to read the current value. (Any value other than "true" is considered equivalent to "false". Other arguments are ignored.)

inherited
registerNumericServiceExtension({String name, ValueGetter<double> getter, ValueSetter<double> setter }) → void

Registers a service extension method with the given name (full name "ext.flutter.name"), which takes a single argument with the same name as the method which, if present, must have a value that can be parsed by double.parse, and can be omitted to read the current value. (Other arguments are ignored.)

inherited
registerServiceExtension({String name, ServiceExtensionCallback callback }) → void

Registers a service extension method with the given name (full name "ext.flutter.name"). The given callback is called when the extension method is called. The callback must return a Future that either eventually completes to a return value in the form of a name/value map where the values can all be converted to JSON using JSON.encode, or fails. In case of failure, the failure is reported to the remote caller and is dumped to the logs.

inherited
registerSignalServiceExtension({String name, VoidCallback callback }) → void

Registers a service extension method with the given name (full name "ext.flutter.name"), which takes no arguments and returns no value.

inherited
registerStringServiceExtension({String name, ValueGetter<String> getter, ValueSetter<String> setter }) → void

Registers a service extension method with the given name (full name "ext.flutter.name"), which optionally takes a single argument with the name "value". If the argument is omitted, the value is to be read, otherwise it is to be set. Returns the current value.

inherited
toString() String

Returns a string representation of this object.

inherited