Flutter 首屏优化

Android App 一般在启动的时候会出现白屏、黑屏,持续 0.5s - 3s (看 App 启动加载复杂度 与 手机性能)。

其主要的原因是默认的 Andraid App 是没有设置启动图的。在启动的时候,Andraid App 需要加载各种资源,包括创建 Activity 等。

如果第一个Activity,还没创建完成,就会看到白屏、黑屏,一般解决这个问题就是为 Andraid App 设置一个启动图。就像淘宝 App 那样,启动的时候会看到一张关于淘宝的图片。

而 iOS App 默认设置了启动图,就不会像 Android App 那样出现白屏、黑屏。

在打开 Flutter App 时会出现短暂的白屏现象(Android),这并不是 Flutter 的特例,在 React Native 上同样如此。因此在 React Native 上解决白屏的处理方式与 Flutter 类似。

添加启动图

在 xml 里,添加启动图。当 App 打开时会先看到启动图,接着渲染 Flutter 所管理的 Activity。

首先在 android/app/src/main/res/drawable-hdpi 里加上一个图片作为程序启动图(名称随意,例如:bg.png),然后修改 android/app/src/main/res/values/styles.xml


或者,在 android\app\src\main\res\drawable\launch_background.xml 里添加,也行。




    

    
    
        
    

最后,记得在 Flutter 底端页面上设置背景为非透明。

@override
Widget build(BuildContext context) {
    return new Scaffold(
        appBar: new AppBar(
            title: new Text('应用'),
        ),
        body: new Container(
            color: Colors.white,
        ),
    );
}

你可能感兴趣的:(Flutter 首屏优化)