从一个材料应用程序更改为另一个材料应用程序时,黑屏会出现一小段时间。仅当我设置MaterialApp的localizationDelegates时才会发生这种情况。
您可以运行以下存储库来重现该问题:
https://github.com/figengungor/localization_black_screen
我不确定是什么原因导致黑屏。你有什么主意吗?
答案 0 :(得分:1)
发生问题是因为您从
更新了小部件树。fetched_row
到
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;
}
故意重用与密钥关联的先前的GlobalKey