Skip to content

关于Zone mismatch解决方法 #162

@crazecoder

Description

@crazecoder

出现如下报错时

════════ Exception caught by Flutter framework ════════════════════════════════════
The following assertion was thrown during runApp:
Zone mismatch.

The Flutter bindings were initialized in a different zone than is now being used.
This will likely cause confusion and bugs as any zone-specific configuration will
inconsistently use the configuration of the original binding initialization zone or
this zone based on hard-to-predict factors such as which zone was active when a
particular callback was set.
It is important to use the same zone when calling `ensureInitialized` on the
binding as when calling `runApp` later.
To make this warning fatal, set BindingBase.debugZoneErrorsAreFatal to true before
the bindings are initialized (i.e. as the first statement in `void main() { }`).
[...]
═══════════════════════════════════════════════════════════════════════════════════

使用下面方法解决

void main(){
    runZonedGuarded(() {
      WidgetsFlutterBinding.ensureInitialized();
      runApp(MyApp());
    }, (exception, stackTrace) {
      FlutterBugly.uploadException(
        type: exception.runtimeType.toString(),
        message: exception.toString(),
        detail: stackTrace.toString(),
      );
    });
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions