更新:整个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 clean
、flutter pub get
- 正在删除内部版本
我搜索过这个,但是大多数结果都是关于FutureBuilder或build()的。
我的配置也没有什么特别之处
1条答案
按热度按时间wmtdaxz31#
在我的例子中,它是由the audio service package引起的。我会让他们注意到这一点。