Skip to content

Asynchronous Shell and VM creation #72028

@xster

Description

@xster

Some previous work and exploration were done in this area such as flutter/engine#20433, flutter/engine#18047 and flutter/engine#20142.

1- Split out a path to asynchronously create the VM in the FlutterEngineGroup ahead of engine creation.

@mkustermann says "Separate Dart_Initialize() (once per process) from Dart_CreateIsolateGroup*() (once per isolate-group, reads AOT snapshot) and Dart_CreateIsolateInGroup() (once per lightweight UI isolate)."

2- Make the new APIs #72010 and #72018 work asynchronously to not block the main thread when creating new engines and isolates, such as when creating Flutter views in a scrollable list.

Metadata

Metadata

Assignees

No one assigned

    Labels

    P3Issues that are less important to the Flutter projectengineflutter/engine related. See also e: labels.platform-androidAndroid applications specificallyplatform-iosiOS applications specificallyteam-engineOwned by Engine teamtriaged-engineTriaged by Engine team

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions