在加载应用程序之前,Flutter app会显示黑屏

时间:2017-08-22 21:50:18

标签: flutter

我注意到这个问题与flutter应用程序有关,当我从冷启动打开一个颤动的应用程序时,我看到在加载实际应用程序之前出现黑屏。我已经看到了Newsvoice制作应用程序以及我安装的测试应用程序的问题。

点击此处视频:https://www.youtube.com/watch?v=zszud6UWzps

这是Flutter SDK中的错误吗?

6 个答案:

答案 0 :(得分:3)

此问题为fixed recently。如果您使用的是具有此引擎修复功能的Flutter版本,则您将无法看到黑框。 (此修复程序现在应该在Flutter master分支上,而不是alpha分支。)

答案 1 :(得分:2)

这不是问题,这是用于热重装。不用担心在发布版本上运行时,看不到此内容。

如果您想确保尝试->

flutter运行--release

答案 2 :(得分:0)

<meta-data
    android:name="io.flutter.embedding.android.SplashScreenDrawable"
    android:resource="@drawable/my_splash"
    />

AndroidManifest.xml检查FlutterActivity并添加此代码

答案 3 :(得分:0)

这不是错误。这就是它的正常行为方式。您可以用图像替换加载黑屏:

在 AndroidManifest.xml 中,您可以在此处更改启动图像。

       <meta-data android:name="io.flutter.embedding.android.SplashScreenDrawable" 
android:resource="@drawable/launch_background" />

查找文件:

android\app\src\main\res\drawable\launch_background.xml

android\app\src\main\res\drawable-v21\launch_background.xml

更改文件以添加您自己的自定义图像:

<item>
    <bitmap android:gravity="center" android:src="@drawable/splash_image" />
</item>

您的初始图像应存储在可绘制文件夹中:

android\app\src\main\res\drawable\splash_image.png

app\src\main\res\drawable-v21\splash_image.png

答案 4 :(得分:0)

在使用 Firebase 时删除 FutureBuilder 后,我可以解决这个问题。只需像这样在 main() 上初始化 Firebase 应用

void main() async {
  WidgetsFlutterBinding.ensureInitialized();
  await Firebase.initializeApp();
  runApp(MyApp());
}

而不是在您的构建方法中使用 FutureBuilder

答案 5 :(得分:0)

黑屏是由于各种原因而出现的,这是我通过查看网络上的不同回复得出的结论。在我的例子中,我意识到我的 Firebase.initializeApp() 在我的 FutureBuilder 的快照中返回了一个错误,因为没有呈现任何小部件。我尝试了一切都无济于事。最后,我将我的项目移动到一个全新的文件夹中,如here

然后我的黑屏问题得到了解决。