从一个Material应用程序更改为另一个时,会短时间出现黑屏



从一个Material应用程序更改为另一个时,会短时间出现黑屏。只有当我设置localizationDelegates of MaterialApp时才会发生这种情况。

您可以运行以下回购来重现问题:

https://github.com/figengungor/localization_black_screen

我不确定是什么原因导致了黑屏。你知道吗?

您的问题发生是因为您从更新了小部件树

Foo
MaterialApp

Foo
Bar
MaterialApp

这使得颤振硬复位MaterialApp的状态,触发加载。

一般来说,你应该避免这种情况。最好总是插入带有空数据的Bar,或者使用这样的GlobalKey

final key = GlobalKey();
// ...
Widget build(BuildContext context) {
final app = MaterialApp(key: key);
return someCondition
? Bar(child: app)
: app;
}

CCD_ 4有目的地重用与密钥相关联的先前CCD_

相关内容

最新更新