从一个Material App更改为另一个App时,黑屏显示时间很短

时间:2018-11-23 08:22:03

标签: localization flutter

从一个材料应用程序更改为另一个材料应用程序时,黑屏会出现一小段时间。仅当我设置MaterialApp的localizationDelegates时才会发生这种情况。

您可以运行以下存储库来重现该问题:

https://github.com/figengungor/localization_black_screen

我不确定是什么原因导致黑屏。你有什么主意吗?

1 个答案:

答案 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