Flutter 首屏优化

作者: iwakevin | 来源:发表于2018-12-13 15:17 被阅读190次

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

<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
    <!-- 这里将刚刚那张图片设置为背景图片, bg对应图片名称 -->
    <item name="android:windowBackground">@drawable/bg</item>
</style>

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

<?xml version="1.0" encoding="utf-8"?>
<!-- Modify this file to customize your launch splash screen -->
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@android:color/white" />

    <!-- You can insert your own image assets here -->
    <item>
        <bitmap
            android:gravity="center"
            android:src="@mipmap/bg" />
    </item>
</layer-list>

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

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

相关文章

  • Flutter 首屏优化

    Android App 一般在启动的时候会出现白屏、黑屏,持续 0.5s - 3s (看 App 启动加载复杂度 ...

  • 前端性能优化 - 首屏渲染优化实现及其必要性

    前端性能优化,不得不提的就是这个首屏渲染优化 首屏渲染优化 其实更具体点,应该是:首次加载首屏渲染优化,原因是某些...

  • 前端首屏优化指标

    由于项目项目特殊性,需要对首屏做项目优化现记录如下 1首屏优化指标 想做优化,先要有做优化的指标,不然就没有太多目...

  • 常见面试题--js+css+vue

    1、变量提升、函数提升 2、数组的常用方法 3.优化首屏加载速度 4.Vue 首屏加载速度优化 5、Vue如何设置...

  • 构建工具

    Vue 首屏加载优化 关于 Vue 首屏加载优化的一点总结为什么我们要做三份 Webpack 配置文件 在知乎上我...

  • 首屏优化 & webpack优化

    MT https://www.jianshu.com/p/c74221f2f442[https://www.jia...

  • 前端优化(首屏优化)

    首屏优化方案 1、JavaScript外联文件引用放在html文档底部;CSS外联文件引用在html文档头部,位于...

  • 记前端项目首屏加载优化(网络篇)

    继之前的一篇《记前端项目首屏加载优化(打包篇)》之后,这次来讲一讲我的首屏加载在网络方面的优化?。 写在前面 资源...

  • Cocos Creator 微信小游戏平台启动与包体优化(首屏渲

    0.小游戏平台与启动加载/首屏渲染 如果不了解首屏渲染是什么,以下是官方文档和一篇优化帖子: 微信官方性能优化指南...

  • 首屏加载

    关于首屏加载相信很多人在项目中会遇到。 为什么要做首屏优化? 首屏时间的快慢直接影响到用户对网站的认知度。加载的越...

网友评论

    本文标题:Flutter 首屏优化

    本文链接:https://www.haomeiwen.com/subject/hrcbhqtx.html