主Flutter()已击发两次

plupiseo  于 2022-11-30  发布在  Flutter
关注(0)|答案(1)|浏览(126)

更新:整个main.dart被调用两次。

var x = 0;
void main() {
  print(++x);
}

将“1”打印到日志两次。
在Android和Flutter Web(我还没有测试过其他平台)上,我的应用程序的入口函数main()被触发了两次,我无法找出问题出在哪里。
我甚至将RunApp()从main()中取出,将其剥离为:

void main() {
  print(StackTrace.current);
}

输出为,打印两次:

I/flutter ( 8417): #0      main (package:appname/main.dart:14:20)
I/flutter ( 8417): #1      _runMain.<anonymous closure> (dart:ui/hooks.dart:134:23)
I/flutter ( 8417): #2      _delayEntrypointInvocation.<anonymous closure> (dart:isolate-patch/isolate_patch.dart:297:19)
I/flutter ( 8417): #3      _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:192:12)
I/flutter ( 8417): #0      main (package:appname/main.dart:14:20)
I/flutter ( 8417): #1      _runMain.<anonymous closure> (dart:ui/hooks.dart:134:23)
I/flutter ( 8417): #2      _delayEntrypointInvocation.<anonymous closure> (dart:isolate-patch/isolate_patch.dart:297:19)
I/flutter ( 8417): #3      _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:192:12)

当然,这意味着启动的每个组件发生两次,特别是用于会话恢复的API通信。
我试过了

  • 在整个目录中搜索对main()的调用
  • 将android目录重置为库存
  • flutter cleanflutter pub get
  • 正在删除内部版本

我搜索过这个,但是大多数结果都是关于FutureBuilder或build()的。
我的配置也没有什么特别之处

wmtdaxz3

wmtdaxz31#

在我的例子中,它是由the audio service package引起的。我会让他们注意到这一点。

相关问题