如何从 flutter 应用程序中删除本机启动画面?
How to remove native splash screen from flutter app?
我正在为我的 flutter 应用程序(用 dart 编写)使用自定义的启动画面。但是当我启动应用程序时,将加载本机特定和自定义的启动画面。现在我想从此项目中删除本机特定的启动画面。这怎么可能?
那是不可能的。
本机启动画面是静态图像,在加载您的应用程序使用的任何库之前显示;它甚至在 java 库完成加载之前显示。
dart/flutter 的额外开销意味着您的应用程序将需要更长的时间来加载(对于 iOS 应用程序尤其明显,因为 objc/swift 应用程序的开销通常比 Java 一个),所以在一切准备就绪之前,唯一的选择是显示原生启动画面。
您可以使用一种方法从本机启动画面开始,然后让 'flutter' 与它非常相似,然后再为其他内容设置动画。但实际上,在 Flutter 中用作启动画面的任何内容很可能只会减慢对应用程序的访问速度,除非每次应用程序启动时都必须进行某种冗长的服务器通信。
如果您使用的是 Flutter_native_splash,请按照以下步骤操作
对于 android,您可以转到 app/src/main/res/drawable/launch_background.xml 并评论以下行
<item>
<bitmap android:gravity="center" android:src="@drawable/splash" />
</item>
您可以从可绘制文件中删除名为 splash.png 的图像以减小文件大小
对于iOS,删除文件夹ios/Runner/Assets.xcassets/LaunchImage.imageset
的所有子文件
我正在为我的 flutter 应用程序(用 dart 编写)使用自定义的启动画面。但是当我启动应用程序时,将加载本机特定和自定义的启动画面。现在我想从此项目中删除本机特定的启动画面。这怎么可能?
那是不可能的。
本机启动画面是静态图像,在加载您的应用程序使用的任何库之前显示;它甚至在 java 库完成加载之前显示。
dart/flutter 的额外开销意味着您的应用程序将需要更长的时间来加载(对于 iOS 应用程序尤其明显,因为 objc/swift 应用程序的开销通常比 Java 一个),所以在一切准备就绪之前,唯一的选择是显示原生启动画面。
您可以使用一种方法从本机启动画面开始,然后让 'flutter' 与它非常相似,然后再为其他内容设置动画。但实际上,在 Flutter 中用作启动画面的任何内容很可能只会减慢对应用程序的访问速度,除非每次应用程序启动时都必须进行某种冗长的服务器通信。
如果您使用的是 Flutter_native_splash,请按照以下步骤操作
对于 android,您可以转到 app/src/main/res/drawable/launch_background.xml 并评论以下行
<item>
<bitmap android:gravity="center" android:src="@drawable/splash" />
</item>
您可以从可绘制文件中删除名为 splash.png 的图像以减小文件大小
对于iOS,删除文件夹ios/Runner/Assets.xcassets/LaunchImage.imageset
的所有子文件