我注意到这个问题与flutter应用程序有关,当我从冷启动打开一个颤动的应用程序时,我看到在加载实际应用程序之前出现黑屏。我已经看到了Newsvoice制作应用程序以及我安装的测试应用程序的问题。
点击此处视频:https://www.youtube.com/watch?v=zszud6UWzps
这是Flutter SDK中的错误吗?
答案 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
然后我的黑屏问题得到了解决。